[Openmp-dev] nvlink error : Undefined reference to '_ZNK14AggregateDatumIN4nest12ConnectionIDEXadL_ZNS0_10NestModule14ConnectionTypeEEEE5printERSo' in '/tmp/event_delivery_manager-656e32.cubin'

Itaru Kitayama via Openmp-dev openmp-dev at lists.llvm.org
Thu Feb 13 14:59:47 PST 2020


I was asking, as NEST only requires C++11 at this moment, and I just think
it is just another
C++ program.

On Fri, Feb 14, 2020 at 7:55 AM Itaru Kitayama <itaru.kitayama at gmail.com>
wrote:

> Alexey,
> Thanks for checking the codebase. Do you feel that the C++ program is hard
> to support in the
> current framework, without a great deal of code rewrite?
>
> On Fri, Feb 14, 2020 at 6:19 AM Alexey Bataev <a.bataev at outlook.com>
> wrote:
>
>> Itaru, there are really a lot of problems with the codebase.
>>
>> 1. Mapped classes use standard data types, like std::stream, std::string
>> etc. NVPTX does not have implementation for these classes and all member
>> function for these classes wont be resolved (they are part of libstdc++,
>> NVPTX does not have implementation for it, I assume).
>>
>> 2. Virtual member functions and RTTI. You cannot rely on this, especially
>> on RTTI (dynamic_cast, for example, is not supported by NVPTX since, again,
>> RTTI requires libstdc++).
>>
>> 3. Some static data members are also marked as not resolved. They must be
>> explicitly marked as declare target, if the data type is mapped.
>>
>> -------------
>> Best regards,
>> Alexey Bataev
>>
>> 13.02.2020 3:20 PM, Itaru Kitayama пишет:
>>
>> Right
>>
>> Its under my GotHub account ikitayama
>>
>> On Fri, Feb 14, 2020 at 5:19 Alexey Bataev <a.bataev at outlook.com> wrote:
>>
>>> Hmm, I don't see this branch in the NEST repo
>>>
>>> -------------
>>> Best regards,
>>> Alexey Bataev
>>>
>>> 13.02.2020 3:16 PM, Itaru Kitayama пишет:
>>>
>>> Alexey,
>>> The branch I’m working on is
>>>
>>> clang-openmp-offloading
>>>
>>>
>>> On Fri, Feb 14, 2020 at 4:56 Alexey Bataev <a.bataev at outlook.com> wrote:
>>>
>>>> Hi Itaru, tried to rebuild the latest NEST with latest trunk clang
>>>> compiler. Everything linked correctly with the offloading flags.
>>>>
>>>> -------------
>>>> Best regards,
>>>> Alexey Bataev
>>>>
>>>> 12.02.2020 11:55 PM, Itaru Kitayama пишет:
>>>>
>>>> Alexey,
>>>>
>>>> In my app, NEST, the code which creates an object on the device does
>>>> not build if offloading flags are enabled but
>>>> does build without it. It will likely be difficult to come up with a
>>>> compact reproducer, would it be ok for you to ask to take
>>>> a look at the code I am working on?
>>>>
>>>> On Tue, Feb 4, 2020 at 8:01 PM Alexey Bataev <a.bataev at outlook.com>
>>>> wrote:
>>>>
>>>>> It must be fixed. But you need to add #include <new> to your program.
>>>>>
>>>>> Best regards,
>>>>> Alexey Bataev
>>>>>
>>>>> 3 февр. 2020 г., в 23:34, Itaru Kitayama <itaru.kitayama at gmail.com>
>>>>> написал(а):
>>>>>
>>>>> 
>>>>> Alexey,
>>>>>
>>>>> Am still seeing a build time error like below:
>>>>> $ clang++ -g -fopenmp -fopenmp-targets=nvptx64 new.cpp
>>>>> nvlink error   : Undefined reference to '_Znam' in
>>>>> '/tmp/new-a4b234.cubin'
>>>>> clang-11: error: nvlink command failed with exit code 255 (use -v to
>>>>> see invocation)
>>>>> $ cat new.cpp
>>>>> int main() {
>>>>> #pragma omp target parallel for
>>>>> for (int i=0;i<10;i++) {
>>>>> int *a = new int[100];
>>>>> }
>>>>> }
>>>>>
>>>>> Are you still working on this? My Clang(-11) is the latest one built
>>>>> from Trunk.
>>>>>
>>>>>
>>>>> On Wed, Jan 22, 2020 at 4:34 AM Alexey Bataev <a.bataev at outlook.com>
>>>>> wrote:
>>>>>
>>>>>> Ok, it compiles with https://reviews.llvm.org/D73128 applied and
>>>>>> additional include of stdlib.h. Still, cannot be executed, though, most
>>>>>> probably beacuse of the virtual functions.
>>>>>>
>>>>>>
>>>>>> -------------
>>>>>> Best regards,
>>>>>> Alexey Bataev
>>>>>>
>>>>>> 20.01.2020 6:21 PM, Itaru Kitayama пишет:
>>>>>>
>>>>>> This reproducer attached, while it may have irrelevant code, shows
>>>>>> the issue.
>>>>>>
>>>>>> clang++ -g -fopenmp -fopenmp-targets=nvptx64 my1.cpp
>>>>>>
>>>>>>
>>>>>> On Fri, Jan 17, 2020 at 3:16 PM Alexey Bataev <a.bataev at outlook.com>
>>>>>> wrote:
>>>>>>
>>>>>>> No idea what does it mean. What  object? Where locally? Provide code
>>>>>>> and steps to reproduce.
>>>>>>>
>>>>>>> -------------
>>>>>>> Best regards,
>>>>>>> Alexey Bataev
>>>>>>>
>>>>>>> 16.01.2020 6:50 PM, Itaru Kitayama via Openmp-dev пишет:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Locally creating an object under the target region causes nvlink
>>>>>>> errors (same code builds fine without offloading support flags):
>>>>>>>
>>>>>>>  nvlink error   : Undefined reference to
>>>>>>> '_ZNK14AggregateDatumIN4nest12ConnectionIDEXadL_ZNS0_10NestModule14ConnectionTypeEEEE5printERSo'
>>>>>>> in '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNK14AggregateDatumIN4nest12ConnectionIDEXadL_ZNS0_10NestModule14ConnectionTypeEEEE6pprintERSo'
>>>>>>> in '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZNK5Datum4infoERSo' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '__assert_fail' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest12ConnectionIDC2ERKS0_' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_Znam' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE'
>>>>>>> in '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest19WeightRecorderEventclEv' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN3sli4pool4growEm' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZSt20__throw_length_errorPKc' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZSt17__throw_bad_allocv'
>>>>>>> in '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_Znwm' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to 'strlen' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN5TokenC1El' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZdlPv' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to 'rand' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN5TokenC1Ed' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest19WeightRecorderEventC2Ev' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_Z8getValueIdET_RK5Token'
>>>>>>> in '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest12ConnectionIDC1Elllll' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_Z8ld_roundd' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNK4nest11SourceTable7get_gidEijm' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '__dynamic_cast' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNK4nest12ConnectionIDeqERKS0_' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest17ConnectionManager17get_delay_checkerEv' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest12DelayChecker21assert_valid_delay_msEd' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4Name6insertERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest4Time5Range12STEPS_PER_MSE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN4nest5names6targetE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN4nest5names6weightE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN4nest5names7size_ofE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN4nest5names5delayE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest4Time5Range11MS_PER_STEPE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN4nest5names5rportE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZStL19piecewise_construct'
>>>>>>> in '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest13KernelManager24kernel_manager_instance_E' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZN10Dictionary9VoidTokenE'
>>>>>>> in '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN4nest10NestModule14ConnectionTypeE' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZTV5Datum' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to
>>>>>>> '_ZN14AggregateDatumIN4nest12ConnectionIDEXadL_ZNS0_10NestModule14ConnectionTypeEEEE6memoryE'
>>>>>>> in '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> nvlink error   : Undefined reference to '_ZL14max_block_size' in
>>>>>>> '/tmp/event_delivery_manager-656e32.cubin'
>>>>>>> clang-11: error: nvlink command failed with exit code 255 (use -v to
>>>>>>> see invocation)
>>>>>>> make[2]: *** [nestkernel/libnestkernel.so] Error 255
>>>>>>> make[1]: *** [nestkernel/CMakeFiles/nestkernel.dir/all] Error 2
>>>>>>> make: *** [all] Error 2
>>>>>>>
>>>>>>> What should I do?
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Openmp-dev mailing listOpenmp-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>>>>>>>
>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20200214/106e2ea8/attachment-0001.html>


More information about the Openmp-dev mailing list