Acabo de iniciar la programación CUDA y está yendo bastante bien, mis GPU son reconocidas y todo. Me he fijado parcialmente Intellisense en Visual Studio usando esta guía extremadamente útil aquí: http://www.ademiller.com/blogs/tech/2010/10/visual-studio-2010-adding-intellisense-support-for-cuda-c/
Configurando VS 2010 Intellisense para llamadas al núcleo CUDA
y aquí: http://www.ademiller.com/blogs/tech/2011/05/visual-studio-2010-and-cuda-easier-with-rc2/
Sin embargo, Intellisense todavía no se darán cuenta de llamadas al kernel como este:
// KernelCall.cu
#include <iostream>
#include "cuda.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
__global__ void kernel(void){}
int main()
{
kernel<<<1,1>>>();
system("pause");
return 0;
}
El núcleo de la línea < < < 1,1 >>>() está subrayado en rojo, específicamente la flecha a la izquierda del primero con el error que dice "Error: esperado y expresión". Sin embargo, si controlo la función, su tipo de retorno y los parámetros se muestran correctamente. Todavía compila muy bien, solo me pregunto cómo deshacerse de esta pequeña molestia.
Debo decir que tiene más sentido que nadie en los foros de NVIDIA ... Entonces, ¿cómo hago lo que acaba de decir? – sj755
Eche un vistazo a la diferencia entre matrixMul y matrixMulDrv. La sintaxis <<<> >> es manejada por el compilador esencialmente solo escupiendo el código que llama a las llamadas de la API de Driver. Te vincularás a cuda.lib no cudart.lib, y es posible que tengas que lidiar con un programa de "modo mixto" si usas bibliotecas solo de CUDA-RT. –
Ver mi respuesta a su pregunta en mi blog. Spider es correcto. Es poco probable que esto funcione alguna vez correctamente. –