cmake

2012-10-25 22 views
16

का उपयोग कर CUDA ऑब्जेक्ट फ़ाइलों का निर्माण मुझे निम्न सेटअप मिला। मैं सीयूडीए का उपयोग कर एमपीआई और अन्य सामग्री का उपयोग कर सी ++ में लिखे गए ढांचे का विस्तार करने जा रहा हूं। परियोजना निर्माण के लिए सेमेक का उपयोग करती है। मैं अपने एक्सटेंशन के लिए लाइब्रेरी का उपयोग करना और अपने cuda स्रोतों से ऑब्जेक्ट फ़ाइलों का निर्माण करना चाहता हूं। बाद में मैं इन ऑब्जेक्ट ऑब्जेक्ट फ़ाइलों और अन्य कंपेलरों के साथ संकलित कुछ अन्य फ़ाइलों को लिंक करना चाहता हूं। क्या किसी को यह प्राप्त करने के लिए hwo पर एक सुराग है?cmake

मैंने http://code.google.com/p/cudpp/wiki/BuildingCUDPPwithCMake पर सीएमडीए के साथ सीयूडीए का उपयोग करने के तरीके पर एक सिंहावलोकन प्राप्त करने के लिए एक नज़र डाली थी, लेकिन यह समाधान लाइब्रेरी का भी उपयोग करता है।

+2

ओपनसीवी लाइब्रेरी में सीपीयू के साथ जीपीयू मॉड्यूल तेज है। मुख्य दृष्टिकोण CUDA_COMPILE सीएमके मैक्रो के साथ cuda फ़ाइल संकलित है और फिर आप ADD_EXECUTABLE या ADD_LIBRARY में ऑब्जेक्ट फ़ाइलें जोड़ें .. [OpenCV] देखें (https://github.com/Itseez/opencv.git) – geek

उत्तर

28

सीडीडीए समर्थन के साथ ऑब्जेक्ट फ़ाइलों को संकलित करना संभव है जो सेमीकेक के नए संस्करणों के साथ आता है। आप cuda_compile कमांड का उपयोग करते हैं। निचे देखो।

# CMakeLists.txt for G4CU project                                           
project(test-cuda-thrust-gdb) 

# required cmake version                                             
cmake_minimum_required(VERSION 2.8) 

# packages                                                 
find_package(CUDA) 

# nvcc flags                                                
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode arch=compute_20,code=sm_20) 

cuda_compile(HELPER_O helper.cu) 
cuda_compile(DRIVER_O driver.cu OPTIONS -G) 

cuda_add_executable(driver ${HELPER_O} ${DRIVER_O}) 

यदि आपको अधिक जानकारी चाहिए तो FindCUDA.cmake फ़ाइल पर एक नज़र डालें।

+0

आपके उत्तर के लिए धन्यवाद। मैंने लाइब्रेरी संस्करण के लिए जाने का फैसला किया, वैसे भी धन्यवाद – soriak