Ho bisogno di una versione del dispositivo del seguente codice host: double (**func)(double x); double func1(double x) { return x+1.; } double func2(double x) { return x+2.; } double func3(double x) { return x+3.; } void test(void) { double x; for(int i=0;i<3;++i){ x=func[i](2.0); printf("%g\n",x); } } int main(void) { func=(double (**)(double))malloc(10*sizeof(double (*)(double))); test(); return 0; […]
Sto provando a sviluppare un piccolo programma con CUDA, ma poiché era lento ho fatto alcuni test e ho cercato un po ‘su google. Ho scoperto che mentre le singole variabili sono normalmente memorizzate nella memoria del thread locale, di solito le matrici non lo sono. Suppongo sia per questo che ci vuole così tanto […]
Ho i dati memorizzati come matrici di float (precisione singola). Ho una matrice per i miei dati reali e una matrice per i miei dati complessi, che uso come input per FFT. Ho bisogno di copiare questi dati nel tipo di dati cufftComplex se voglio usare la libreria cufft CUDA. Da nVidia: ” cufftComplex è […]
A partire da CUDA 5.5, la libreria CUBLAS contiene routine per la fattorizzazione e l’inversione della matrice in batch ( cublasgetrfBatched e cublasgetriBatched rispettivamente). Ottenendo guida dalla documentazione, ho scritto un codice di prova per l’inversione di una matrice N x N usando queste routine. Il codice fornisce l’output corretto solo se la matrice ha […]
La prima chiamata di cudaMalloc è lenta (come 0.2 secondi) a causa di alcuni lavori di inizializzazione su GPU. C’è qualche funzione che fa solo l’inizializzazione, in modo che io possa separare il tempo? cudaSetDevice sembra ridurre il tempo a 0,15 secondi, ma continua a non eliminare tutti i sovraccarichi di init.
Al momento CUDA riconosce già una funzione CUDA C / C ++ cudaMalloc come cudaMalloc , cudaFree , cudaEventCreate , ecc. Riconosce anche alcuni tipi come dim3 e cudaEvent_t . Tuttavia, non riconosce altre funzioni e tipi come il modello di trama, le funzioni __syncthreads o la funzione atomicCAS . Tutto si compila bene, ma […]
Il mio programma CUDA per il calcolo del monte carlo pi sta causando il crash del mio driver nvidia quando ho superato circa 500 prove e 256 blocchi completi. Sembra che stia accadendo nella funzione del kernel di monteCarlo. Qualsiasi aiuto è apprezzato. #include #include #include #include #include #define NUM_THREAD 256 #define NUM_BLOCK 256 /////////////////////////////////////////////////////////////////////////////////////////// […]
Ho appena iniziato la programmazione CUDA e sta andando abbastanza bene, le mie GPU sono riconosciute e tutto il resto. Ho parzialmente impostato Intellisense in Visual Studio utilizzando questa guida estremamente utile qui: http://www.ademiller.com/blogs/tech/2010/10/visual-studio-2010-adding-intellisense-support-for-cuda-c/ e qui: http://www.ademiller.com/blogs/tech/2011/05/visual-studio-2010-and-cuda-easier-with-rc2/ Tuttavia, Intellisense continua a non rispondere alle chiamate del kernel in questo modo: // KernelCall.cu #include #include “cuda.h” […]
Ho caricato diversi screenshot in questo album: http://imgur.com/a/w4jHc Sto cercando di far funzionare la GPU in OpenCV in Visual Studio 2008. Sto utilizzando uno dei codici di esempio GPU OpenCV, bgfg_segm.cpp. Tuttavia, quando compilo (senza errori di compilazione) lancia un “OpenCV Error: No GPU suport”. Windows 7, 32 bit Visual Studio 2008 nVidia Quadro 1000M […]
Sono appena riuscito a installare il mio cuda SDK sotto Linux Ubuntu 10.04. La mia scheda grafica è una NVIDIA geForce GT 425M, e mi piacerebbe usarla per qualche problema computazionale. Quello che mi chiedo è: c’è un modo per usare un int var a 128 bit senza segno? Usando gcc per eseguire il mio […]