Articles of cuda

Como inicio um novo projeto CUDA no Visual Studio 2008?

Essa é uma pergunta incrivelmente básica, mas como faço para iniciar um novo projeto CUDA no Visual Studio 2008? Eu encontrei toneladas e toneladas de documentação sobre assuntos relacionados a CUDA, mas nada sobre como iniciar um novo projeto. Eu estou trabalhando com o Windows 7 x 64 Visual Studio 2008 C ++. Eu realmente […]

Usando Java com GPU da Nvidia (cuda)

Estou trabalhando em um projeto de negócios que é feito em java e precisa de grande poder de computação para computar os mercados de negócios. Matemática simples, mas com enorme quantidade de dados. Nós pedimos alguns cuda gpu para experimentá-lo com e desde que o Java não é suportado pelo cuda, estou querendo saber por […]

falha de segmentação cudaMemcpy

Eu tenho sido assombrado por esse erro por um bom tempo, então decidi postar aqui. Essa falha de segmentação aconteceu quando um cudaMemcpy é chamado: CurrentGrid->cdata[i] = new float[size]; cudaMemcpy(CurrentGrid->cdata[i], Grid_dev->cdata[i], size*sizeof(float),\ cudaMemcpyDeviceToHost); CurrentGrid e Grid_dev são ponteiro para um object de class de grid no host e dispositivo respectivamente e i = 0 neste […]

Falha de boot não especificada no Memcpy

Estou encontrando uma “falha de boot não especificada” ao executar meu programa no Cuda. Eu verifiquei os erros. O programa é um solucionador de uma equação diferencial. Itera TOTAL_ITER vezes. ROOM_X e ROOM_Y são a largura e a altura das matrizes. Aqui está o header, seu nome é “único: #define ITER_BETWEEN_SAVES 10000 #define TOTAL_ITER 10000 […]

Como posso adicionar dois arrays 2D (inclinados) usando loops nesteds?

Eu sou novo no cuda. Eu quero adicionar dois 2d array em um terceiro array. Eu uso o seguinte código: cudaMallocPitch((void**)&device_a, &pitch, 2*sizeof(int),2); cudaMallocPitch((void**)&device_b, &pitch, 2*sizeof(int),2); cudaMallocPitch((void**)&device_c, &pitch, 2*sizeof(int),2); agora meu problema é que eu não quero usar esses array como array 2D achatado todos no meu código do kernel eu quero di é usar […]

Mensagem de erro: não é possível localizar ou abrir o arquivo PDB

Eu tentei executar programas de amostra fornecidos no site oficial da NVIDIA . A maioria dos programas funcionou sem problemas, exceto em alguns, onde recebi mensagens de erro semelhantes. Como posso consertar isso? Aqui está um exemplo de mensagem de erro que recebi depois de executar um programa chamado “MatrixMul”. Nota: Instalei o NVIDIA CUDA […]

Como eu escolho as dimensões de grade e bloco para os kernels CUDA?

Esta é uma pergunta sobre como determinar os tamanhos de grade, bloco e segmento CUDA. Esta é uma pergunta adicional à postada aqui: https://stackoverflow.com/a/5643838/1292251 Seguindo este link, a resposta de talonmies contém um trecho de código (veja abaixo). Eu não entendo o comentário “valor geralmente escolhido por ajustes e restrições de hardware”. Eu não encontrei […]

Qual é a maneira canônica de verificar erros usando a API de tempo de execução CUDA?

Analisando as respostas e os comentários sobre as perguntas do CUDA, e no wiki da tag CUDA , vejo que muitas vezes é sugerido que o status de retorno de cada chamada da API seja verificado quanto a erros. A documentação da API contém funções como cudaGetLastError , cudaPeekAtLastError e cudaGetErrorString , mas qual é […]