[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:55:59 PST 2020


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/79d75efc/attachment-0001.html>


More information about the Openmp-dev mailing list