Articles of cuda

Em CUDA, o que é a coalescência de memory e como ela é alcançada?

O que é “coalescido” na transação de memory global CUDA? Eu não conseguia entender mesmo depois de passar pelo meu guia CUDA. Como fazer isso? No exemplo da matriz do guia de programação CUDA, acessar a matriz linha por linha é chamado de “coalescido” ou col .. por col .. é chamado de coalescência? Qual […]

O que posso fazer contra a versão do driver CUDA é insuficiente para a versão de tempo de execução CUDA?

Quando vou para /usr/local/cuda/samples/1_Utilities/deviceQuery e executo moose@pc09 /usr/local/cuda/samples/1_Utilities/deviceQuery $ sudo make clean rm -f deviceQuery deviceQuery.o rm -rf ../../bin/x86_64/linux/release/deviceQuery moose@pc09 /usr/local/cuda/samples/1_Utilities/deviceQuery $ sudo make “/usr/local/cuda-7.0″/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_52,code=compute_52 -o deviceQuery.o -c deviceQuery.cpp “/usr/local/cuda-7.0″/bin/nvcc -ccbin g++ -m64 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 […]

Indexação do kernel 3D CUDA para filtragem de imagens?

Eu tenho uma matriz de recurso de imagem A é n * m * 31 matriz preenchida para filtragem e tenho B como um filtro de object k * l * 31 . Eu quero obter uma matriz de saída C é p * r * 31 com o tamanho da imagem A sem preenchimento […]

Cuda Clang e OS X Mavericks

Atualmente estou tentando construir um projeto Cuda com o Cmake no MacOS 10.9. Meus compiladores C e C ++ são gcc, mas parece que desde os links gcc e g ++ do Mavericks ao clang, que não são suportados pelo CUDA. Alguém encontrou uma boa solução para usar o gcc real ou para fazer o […]

CUDA como obter grade, bloco, tamanho de rosca e paralisar o cálculo de matriz não quadrada

Eu sou novo no CUDA e preciso de ajuda para entender algumas coisas. Preciso de ajuda para paralelizar esses dois loops forçados. Especificamente, como configurar o dimBlock e o dimGrid para fazer isso rodar mais rápido. Eu sei que isso se parece com o exemplo de adicionar vetor no SDK, mas esse exemplo é apenas […]

O que é um conflito bancário? (Fazendo programação Cuda / OpenCL)

Eu tenho lido o guia de programação para CUDA e OpenCL, e não consigo descobrir o que é um conflito bancário. Eles apenas mergulham em como resolver o problema sem elaborar sobre o assunto em si. Alguém pode me ajudar a entender isso? Não tenho preferência se a ajuda está no contexto de CUDA / […]

Devo unificar dois kernels similares com uma instrução ‘if’, arriscando a perda de desempenho?

Eu tenho 2 funções kernel muito semelhantes, no sentido de que o código é quase o mesmo, mas com uma ligeira diferença. Atualmente tenho 2 opções: Escreva 2 methods diferentes (mas muito similares) Escreva um único kernel e coloque os blocos de código que diferem em uma instrução if / else Quanto uma declaração if […]

como vincular biblioteca (por exemplo, CUBLAS, CUSPARSE) para CUDA no windows

Eu estou tentando compilar um programa cuda que usa biblioteca cusparse. Estou ficando ligando erro: kernel.cu.obj : error LNK2019: unresolved external symbol _cusparseSetMatIndexBase@8 referenced in function _main E muito erro do mesmo tipo relacionado à biblioteca cusparse. Eu incluí “cusparse_v2.h”. Como faço para vincular a biblioteca cusparse no visual studio 2010 durante a compilation?

Cuda atomics mudar bandeira

Eu tenho um pedaço de código serial que faz algo parecido com isto if( ! variable ) { do some initialization here variable = true; } Eu entendo que isso funciona perfeitamente bem em série e só será executado uma vez. Qual operação atômica seria a correta aqui no CUDA?

Cuda C – Linker error – referência indefinida

Eu estou tendo dificuldade em compilar um programa cuda simples, consitando apenas dois arquivos. O main.c se parece com isso: #include “my_cuda.h” int main(int argc, char** argv){ dummy_gpu(); } O cuda.h é assim: #ifndef MY_DUMMY #define MY_DUMMY void dummy_gpu(); #endif E o arquivo my_cuda.cu é assim: #include #include “my_cuda.h” __global__ void dummy_gpu_kernel(){ //do something } […]