Estoy buscando ayuda para comenzar con un proyecto que involucra a CUDA. Mi objetivo es tener un proyecto que pueda compilar en el compilador g ++ nativo pero que use el código CUDA. Entiendo que tengo que compilar mi código CUDA en el compilador nvcc, pero desde mi entendimiento, de alguna manera puedo compilar el código CUDA en un archivo cubin o en un archivo ptx.¿Cómo puedo compilar el código CUDA y luego vincularlo a un proyecto C++?
Aquí están mis preguntas:
- ¿Cómo uso NVCC para compilar en un archivo o un archivo cubin PTX? ¿No necesito una -c o algo así?
- ¿Qué tipo de archivo quiero usar?
- ¿Qué son los comandos g ++ para compilar correctamente y vincular el proyecto?
Supongamos lo siguiente:
- tengo un archivo llamado "main.cpp" que tiene una función principal en ella e incluye cuda.h.
- Tengo otro archivo llamado "cudaFunc.cu" que tiene código CUDA. Digamos, por ejemplo, que quiero agregar dos matrices de enteros que existen en main.cpp.
¿También puede proporcionar un mínimo de archivos '.cu' y' .cpp' con los que haya probado? Curioso sobre el incluye usado, cpp, en particular, cómo ver las funciones '__global__' del kernel de' .cu'. –
Ten cuidado, tu objetivo limpio eliminará todos los archivos que terminen con 'o'. Probablemente desee 'clean: rm -rf * .o program' – gerowam
Gracias [Matthew] (https://stackoverflow.com/users/1226843/matthew), esto fue muy útil. – SRG