From 5f6d46dfea4fca3121fa4cdc070c33828246c68e Mon Sep 17 00:00:00 2001 From: shawnz Date: Mon, 9 Jun 2025 19:49:44 +0800 Subject: [PATCH] Bug 5323018: Update the CMakeLists.txt and Common/helper_multiprocess.cpp of ptxjit and memMapIPCDrv for QNX cross build --- Common/helper_multiprocess.cpp | 8 ++++---- .../3_CUDA_Features/memMapIPCDrv/CMakeLists.txt | 14 +++++++++++++- Samples/3_CUDA_Features/ptxjit/CMakeLists.txt | 8 ++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/Common/helper_multiprocess.cpp b/Common/helper_multiprocess.cpp index 61fe0855..801b205d 100644 --- a/Common/helper_multiprocess.cpp +++ b/Common/helper_multiprocess.cpp @@ -186,7 +186,7 @@ int ipcCreateSocket(ipcHandle *&handle, const char *name, } unlink(name); - bzero(&servaddr, sizeof(servaddr)); + memset(&servaddr, 0, sizeof(servaddr)); servaddr.sun_family = AF_UNIX; size_t len = strlen(name); @@ -220,7 +220,7 @@ int ipcOpenSocket(ipcHandle *&handle) { return -1; } - bzero(&cliaddr, sizeof(cliaddr)); + memset(&cliaddr, 0, sizeof(cliaddr)); cliaddr.sun_family = AF_UNIX; char temp[10]; @@ -326,7 +326,7 @@ int ipcSendDataToServer(ipcHandle *handle, const char *serverName, ssize_t sendResult; struct sockaddr_un serveraddr; - bzero(&serveraddr, sizeof(serveraddr)); + memset(&serveraddr, 0, sizeof(serveraddr)); serveraddr.sun_family = AF_UNIX; strncpy(serveraddr.sun_path, serverName, sizeof(serveraddr.sun_path) - 1); @@ -359,7 +359,7 @@ int ipcSendShareableHandle(ipcHandle *handle, socklen_t len = sizeof(cliaddr); // Construct client address to send this SHareable handle to - bzero(&cliaddr, sizeof(cliaddr)); + memset(&cliaddr, 0, sizeof(cliaddr)); cliaddr.sun_family = AF_UNIX; char temp[10]; sprintf(temp, "%u", process); diff --git a/Samples/3_CUDA_Features/memMapIPCDrv/CMakeLists.txt b/Samples/3_CUDA_Features/memMapIPCDrv/CMakeLists.txt index 5e6c54bd..ce04a08e 100644 --- a/Samples/3_CUDA_Features/memMapIPCDrv/CMakeLists.txt +++ b/Samples/3_CUDA_Features/memMapIPCDrv/CMakeLists.txt @@ -37,13 +37,25 @@ target_link_libraries(memMapIPCDrv PUBLIC CUDA::cuda_driver ) -if(UNIX) +if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") target_link_libraries(memMapIPCDrv PUBLIC rt) endif() +if(${CMAKE_SYSTEM_NAME} STREQUAL "QNX") + target_link_libraries(memMapIPCDrv PUBLIC socket) +endif() + set(CUDA_PTX_FILE "${CMAKE_CURRENT_BINARY_DIR}/memMapIpc_kernel64.ptx") set(CUDA_KERNEL_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/memMapIpc_kernel.cu") +if(CMAKE_SYSTEM_NAME STREQUAL "QNX") + set(INCLUDES_LIST) + foreach(dir ${CUDAToolkit_INCLUDE_DIRS}) + list(APPEND INCLUDES_LIST "-I${dir}") + endforeach() + string(JOIN " " INCLUDES "${INCLUDES_LIST}") +endif() + add_custom_command( OUTPUT ${CUDA_PTX_FILE} COMMAND ${CMAKE_CUDA_COMPILER} ${INCLUDES} ${ALL_CCFLAGS} -Wno-deprecated-gpu-targets -o ${CUDA_PTX_FILE} -ptx ${CUDA_KERNEL_SOURCE} diff --git a/Samples/3_CUDA_Features/ptxjit/CMakeLists.txt b/Samples/3_CUDA_Features/ptxjit/CMakeLists.txt index ea1de621..ea9e305f 100644 --- a/Samples/3_CUDA_Features/ptxjit/CMakeLists.txt +++ b/Samples/3_CUDA_Features/ptxjit/CMakeLists.txt @@ -41,6 +41,14 @@ target_link_libraries(ptxjit PUBLIC set(CUDA_PTX_FILE "${CMAKE_CURRENT_BINARY_DIR}/ptxjit_kernel64.ptx") set(CUDA_KERNEL_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/ptxjit_kernel.cu") +if(CMAKE_SYSTEM_NAME STREQUAL "QNX") + set(INCLUDES_LIST) + foreach(dir ${CUDAToolkit_INCLUDE_DIRS}) + list(APPEND INCLUDES_LIST "-I${dir}") + endforeach() + string(JOIN " " INCLUDES "${INCLUDES_LIST}") +endif() + add_custom_command( OUTPUT ${CUDA_PTX_FILE} COMMAND ${CMAKE_CUDA_COMPILER} ${INCLUDES} ${ALL_CCFLAGS} -Wno-deprecated-gpu-targets -o ${CUDA_PTX_FILE} -ptx ${CUDA_KERNEL_SOURCE}