finmat92
Utente Attivo
- Messaggi
- 214
- Reazioni
- 209
- Punteggio
- 50
Buonasera/buongiorno a tutti,
mi sono trovato di recente a perdere diversi giorni dietro un problema che non riesco a risolvere in alcun modo. Mi ero incuriosito alla tematica del multithreading e del calcolo aritmetico su schede grafiche, avendo seguito un corso universitario che accennava a questo, e così informandomi un po' ho scoperto che esiste la piattaforma e API CUDA con le sue librerie proprietarie, e avendo una GPU NVIDIA ho voluto provare a vedere se riuscivo a scrivere un programma basilare che effettuasse una moltiplicazione matriciale tra due matrici piene di numeri. Premetto che, al momento, mi trovo a lavorare principalmente su Windows 10 ma non ho voluto usare nessun IDE particolare, ma fare tutto, se possibile, da shell cmd/PowerShell. Dopo svariate imprecazioni e ricerche ho trovato il modo di scaricare il compilatore NVCC, configurarlo con le opportune flags e fargli compilatore sto benedetto programmino, e alla fine, dopo la configurazione di una variabile d'ambiente e lo scaricamento di Visual Studio di Microsoft, ce l'ho fatta. Il compilatore andava, l'eseguibile me lo produceva, e questo andava senza problemi:
Facile come fare:
E così mi son chiesto se esisteva anche una variante open source di CUDA, e ho trovato OpenCL. Ho passato 2 giorni tra Google, ChatGPT, Youtube, Stackoverflow e non sono ancora riuscito a compilare il programmino che ho scritto, che fa la stessa cosa di quello scritto per CUDA. Quel che mi chiedo io, poi magari vi dico i passaggi che ho eseguito a richiesta giusto per non scrivere un papiro qui, c'è una procedura per Windows? sto impazzendo. Capisco che non sia usata da tutti, ma se qualcuno ci fosse passato gradirei i suoi consigli.
mi sono trovato di recente a perdere diversi giorni dietro un problema che non riesco a risolvere in alcun modo. Mi ero incuriosito alla tematica del multithreading e del calcolo aritmetico su schede grafiche, avendo seguito un corso universitario che accennava a questo, e così informandomi un po' ho scoperto che esiste la piattaforma e API CUDA con le sue librerie proprietarie, e avendo una GPU NVIDIA ho voluto provare a vedere se riuscivo a scrivere un programma basilare che effettuasse una moltiplicazione matriciale tra due matrici piene di numeri. Premetto che, al momento, mi trovo a lavorare principalmente su Windows 10 ma non ho voluto usare nessun IDE particolare, ma fare tutto, se possibile, da shell cmd/PowerShell. Dopo svariate imprecazioni e ricerche ho trovato il modo di scaricare il compilatore NVCC, configurarlo con le opportune flags e fargli compilatore sto benedetto programmino, e alla fine, dopo la configurazione di una variabile d'ambiente e lo scaricamento di Visual Studio di Microsoft, ce l'ho fatta. Il compilatore andava, l'eseguibile me lo produceva, e questo andava senza problemi:
Bash:
C:\Users\Io\> nvcc matrix-cuda.cu
C:\Users\Io\> a.exe
Facile come fare:
Bash:
$ gcc Hello.c
$ ./a.out
E così mi son chiesto se esisteva anche una variante open source di CUDA, e ho trovato OpenCL. Ho passato 2 giorni tra Google, ChatGPT, Youtube, Stackoverflow e non sono ancora riuscito a compilare il programmino che ho scritto, che fa la stessa cosa di quello scritto per CUDA. Quel che mi chiedo io, poi magari vi dico i passaggi che ho eseguito a richiesta giusto per non scrivere un papiro qui, c'è una procedura per Windows? sto impazzendo. Capisco che non sia usata da tutti, ma se qualcuno ci fosse passato gradirei i suoi consigli.