exemplo inicial

Re: exemplo inicial

por Hugo Corbucci -
Número de respostas: 0
Ah ta!
Ok! Achei que vocês tavam usando o template que está na pasta projects que tem vários arquivos e coisas do tipo.
Enfim!

Bom, o seu problema está no gerenciamento de memória. Se você rodar o seu programa em modo emulado (make emu=1), verá que a saída fica certinha.
O que acontece é que, em modo emulado, a memória que roda na CPU (a que você alocou com int A[3], etc...) É a mesma da GPU (pois você emula com a CPU e não com a(s) GPU(s)). Então dá tudo certo.

Já quando você roda em modo real, essas memórias são diferentes (a(s) GPU(s) tem suas próprias memórias - uma parte compartilhada entre essas GPUs e outra não). Logo você está somando coisas armazenadas em um espaço da memória das GPUs que você nunca alocou ou inicializou. Veja o exemplo 'scalarProd' na pasta projects do CUDA para ver como ele usa o CudaMalloc e outras funções para alocação de memória na GPU e cópia da CPU para GPU e vice versa.