Articles of cuda

Como definir sinalizadores de compilador CUDA no Visual Studio 2010?

Depois persistentemente recebendo error : identifier “atomicAdd” is undefined , eu encontrei a solução para ser compilar com -arch sm_20 bandeira. Mas como passar este flag do compilador no VS 2010? Eu tentei assim em Project > Properties : Mas isso aparentemente não teve efeito e o erro persiste – o que estou fazendo errado? […]

Copiar um object para o dispositivo?

Posso copiar um object C ++ para o dispositivo? digamos que eu tenha: class CudaClass { public: int* data; CudaClass(int x) { data = new int[1]; data[0] = x; } }; __global__ void useClass(CudaClass cudaClass) { printf(“%d” cudaClass.data[0]); }; int main() { CudaClass c(1); } Agora, como copio “c” para a memory do dispositivo e […]

Como os blocos CUDA são divididos em warps?

Se eu iniciar meu kernel com uma grade cujos blocos tenham dimensões: dim3 block_dims(16,16); Como os blocos de grade agora são divididos em deformações? As duas primeiras linhas desse bloco formam uma distorção, ou as duas primeiras colunas, ou isso é arbitrariamente ordenado? Assuma uma capacidade de computação de GPU de 2,0.

nvidia-smi Explicação de utilização de GPU volátil?

Eu sei que nvidia-smi -l 1 dará o uso da GPU a cada um segundo (similar ao seguinte). No entanto, gostaria de receber uma explicação sobre o que o Volatile GPU-Util realmente significa. Esse é o número de SMs usados ​​em relação ao total de SMs, à ocupação ou a alguma outra coisa? +—————————————————————————–+ | […]

CUDA e nvcc: usando o pré-processador para escolher entre float ou double

O problema : Tendo um .h, eu quero definir real para ser duplo se compilar para c / c ++ ou cuda com capacidade de computação> = 1,3. Se compilar para cuda com capacidade de computação <1.3, defina real como float. Depois de muitas horas eu vim para isso (o que não funciona) # se […]

Como calcular o Gflops de um kernel

Eu quero uma medida de quanto do desempenho máximo meu kernel arquiva. Digamos que eu tenha um NVIDIA Tesla C1060, que tem um pico de GFLOPS de 622,08 (~ = 240Cores * 1300MHz * 2). Agora no meu kernel eu contei para cada thread 16000 flop (4000 x (2 subtração, 1 multiplicação e 1 sqrt)). […]

Por que a CUDA tem a memory fixada tão rapidamente?

Observo aumentos substanciais na transferência de dados quando uso memory fixa para transferências de dados CUDA. No linux, a chamada de sistema subjacente para conseguir isso é mlock. A partir da página man do mlock, ele afirma que bloquear a página impede que ela seja trocada: O mlock () bloqueia páginas no intervalo de endereços, […]

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 […]