Files
CMake/Tests/CudaOnly/ResolveDeviceSymbols/file2.cu
T
Robert Maynard 493671a521 CUDA: Static libraries can now explicitly resolve device symbols
If a static library has the property CUDA_RESOLVE_DEVICE_SYMBOLS enabled
it will now perform the device link step. The normal behavior is
to delay calling device link until the static library is consumed by
a shared library or an executable.
2017-04-26 16:18:25 -04:00

26 lines
537 B
Plaintext

#include "file2.h"
result_type __device__ file1_func(int x);
result_type_dynamic __device__ file2_func(int x)
{
const result_type r = file1_func(x);
const result_type_dynamic rd{ r.input, r.sum, true };
return rd;
}
static __global__ void file2_kernel(result_type_dynamic& r, int x)
{
// call static_func which is a method that is defined in the
// static library that is always out of date
r = file2_func(x);
}
int file2_launch_kernel(int x)
{
result_type_dynamic r;
file2_kernel<<<1, 1>>>(r, x);
return r.sum;
}