Merge pull request #22 from XSShawnZeng/master

Update source code for cudaGraphPerfScaling and remove dupe target in cuda-c-linking CMakeLists.txt
This commit is contained in:
Rob Armstrong 2025-02-12 08:14:25 -08:00 committed by GitHub
commit dcce6e1f14
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 44 additions and 31 deletions

View File

@ -350,8 +350,10 @@ int main(int argc, char **argv)
cudaFree(0); cudaFree(0);
cudaMallocHost(&hostData, sizeof(*hostData)); cudaMallocHost(&hostData, sizeof(*hostData));
stream.resize(width); int numStreams = width;
for (int i = 0; i < width; i++) if (numStreams == 1) numStreams = 2; // demo needs two streams even if capture only needs 1.
stream.resize(numStreams);
for (int i = 0; i < numStreams; i++)
{ {
cudaStreamCreate(&stream[i]); cudaStreamCreate(&stream[i]);
} }
@ -386,7 +388,7 @@ int main(int argc, char **argv)
if (!(outputFmt & 6)) { if (!(outputFmt & 6)) {
printf("skipping trials since no output is expected\n"); printf("skipping trials since no output is expected\n");
return EXIT_FAILURE; return 1;
} }
std::vector<double> metricTotal; std::vector<double> metricTotal;
@ -429,6 +431,9 @@ int main(int argc, char **argv)
length += stride; length += stride;
} }
printf("\n"); cudaFreeHost(hostData);
}
printf("\n");
printf("Test passed\n");
return 0;
}

View File

@ -34,8 +34,7 @@ if (LLVM_PACKAGE_VERSION VERSION_GREATER_EQUAL "15" OR
endif () endif ()
add_executable(cuda-c-linking cuda-c-linking.cpp) add_executable(cuda-c-linking cuda-c-linking.cpp)
add_custom_target(clobber)
add_custom_target(testrun)
add_test(NAME cuda-c-linking add_test(NAME cuda-c-linking
COMMAND cuda-c-linking COMMAND cuda-c-linking
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
@ -82,3 +81,12 @@ set_target_properties(mathfuncs64 PROPERTIES PREFIX "lib"
OUTPUT_NAME "mathfuncs64" OUTPUT_NAME "mathfuncs64"
SUFFIX ".a" CUDA_SEPERABLE_COMPILATION ON) SUFFIX ".a" CUDA_SEPERABLE_COMPILATION ON)
install(TARGETS cuda-c-linking mathfuncs64 DESTINATION bin) install(TARGETS cuda-c-linking mathfuncs64 DESTINATION bin)
if (WIN32)
add_custom_command(
TARGET cuda-c-linking
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:cuda-c-linking>"
)
endif ()

View File

@ -53,10 +53,10 @@ add_custom_command(
"${CMAKE_CURRENT_SOURCE_DIR}/dsl-gpu64.ll" "$<TARGET_FILE_DIR:dsl>" "${CMAKE_CURRENT_SOURCE_DIR}/dsl-gpu64.ll" "$<TARGET_FILE_DIR:dsl>"
) )
if (WIN32) if (WIN32)
add_custom_command( add_custom_command(
TARGET dsl TARGET dsl
POST_BUILD POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:dsl>" "${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:dsl>"
) )
endif () endif ()

View File

@ -51,10 +51,10 @@ add_custom_command(
"${CMAKE_CURRENT_SOURCE_DIR}/test.ll" "$<TARGET_FILE_DIR:ptxgen>" "${CMAKE_CURRENT_SOURCE_DIR}/test.ll" "$<TARGET_FILE_DIR:ptxgen>"
) )
if (WIN32) if (WIN32)
add_custom_command( add_custom_command(
TARGET ptxgen TARGET ptxgen
POST_BUILD POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:ptxgen>" "${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:ptxgen>"
) )
endif () endif ()

View File

@ -52,10 +52,10 @@ add_custom_command(
"${CMAKE_CURRENT_SOURCE_DIR}/simple-gpu64.ll" "$<TARGET_FILE_DIR:simple>" "${CMAKE_CURRENT_SOURCE_DIR}/simple-gpu64.ll" "$<TARGET_FILE_DIR:simple>"
) )
if (WIN32) if (WIN32)
add_custom_command( add_custom_command(
TARGET simple TARGET simple
POST_BUILD POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:simple>" "${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:simple>"
) )
endif () endif ()

View File

@ -56,10 +56,10 @@ add_custom_command(
"${CMAKE_CURRENT_SOURCE_DIR}/uvmlite64.ll" "$<TARGET_FILE_DIR:uvmlite>" "${CMAKE_CURRENT_SOURCE_DIR}/uvmlite64.ll" "$<TARGET_FILE_DIR:uvmlite>"
) )
if (WIN32) if (WIN32)
add_custom_command( add_custom_command(
TARGET uvmlite TARGET uvmlite
POST_BUILD POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:uvmlite>" "${CMAKE_BINARY_DIR}/nvvm64_40_0.dll" "$<TARGET_FILE_DIR:uvmlite>"
) )
endif () endif ()