Sacado: link error with CUDA and relocatable device code
Created by: rppawlo
Issue with multiple definition of device memory pool. Needed to mark object "extern" in the header file and move the initialization to .cpp file. PR will be posted shortly.
[ 87%] Linking CXX executable Phalanx_dynamic_data_layout.exe
nvlink error : Multiple definition of '_ZN6Sacado4Impl40global_sacado_cuda_memory_pool_on_deviceE' in '../../../sacado/src/libsacado.a:Sacado_DynamicArrayTraits.cpp.o', first defined in 'CMakeFiles/Phalanx_dynamic_data_layout.dir/DynamicLayout.cpp.o'
nvlink error : Multiple definition of '_ZN6Sacado4Impl40global_sacado_cuda_memory_pool_on_deviceE' in '../../../sacado/src/libsacado.a:Sacado_ScalarFlopCounter.cpp.o', first defined in 'CMakeFiles/Phalanx_dynamic_data_layout.dir/DynamicLayout.cpp.o'
nvlink warning : Stack size for entry function '_ZN6Kokkos4Impl75_GLOBAL__N__51_tmpxft_0000028f_00000000_7_Kokkos_Cuda_Task_cpp1_ii_b2872e7123cuda_task_queue_executeEPNS0_9TaskQueueINS_4CudaEEEi' cannot be statically determined
make[2]: *** [packages/phalanx/test/DataLayout/Phalanx_dynamic_data_layout.exe] Error 255
make[1]: *** [packages/phalanx/test/DataLayout/CMakeFiles/Phalanx_dynamic_data_layout.dir/all] Error 2
make: *** [all] Error 2
@etphipp @trilinos/sacado