Index: External/CUDA/CMakeLists.txt =================================================================== --- External/CUDA/CMakeLists.txt +++ External/CUDA/CMakeLists.txt @@ -46,6 +46,7 @@ macro(create_local_cuda_tests VariantSuffix) create_one_local_test(axpy axpy.cu) create_one_local_test(empty empty.cu) + create_one_local_test(printf printf.cu) create_one_local_test(future future.cu) endmacro() Index: External/CUDA/printf.cu =================================================================== --- /dev/null +++ External/CUDA/printf.cu @@ -0,0 +1,13 @@ +#include + +__global__ void kernel(char a, short b, int c, float d, double e) { + const char* f = "abcdefg"; + printf("kernel_printf %c %d %d %f %f %s\n", a, b, c, d, e, f); +} + +int main(int argc, char* argv[]) { + kernel<<<2, 8>>>('a', 2, 3, 4, 5); + cudaDeviceSynchronize(); + cudaDeviceReset(); + return 0; +} Index: External/CUDA/printf.reference_output =================================================================== --- /dev/null +++ External/CUDA/printf.reference_output @@ -0,0 +1,17 @@ +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +kernel_printf a 2 3 4.000000 5.000000 abcdefg +exit 0