Sto lavorando con qualcuno che ha qualche codice MATLAB che vuole essere velocizzato. Attualmente stanno cercando di convertire tutto questo codice in CUDA per farlo funzionare su una CPU. Penso che sarebbe più rapido utilizzare il Toolbox di calcolo parallelo di MATLAB per velocizzarlo, ed eseguirlo su un cluster dotato di Distributed Computing Toolbox di MATLAB, permettendomi di eseguirlo su diversi nodi di lavoro diversi. Ora, come parte della toolbox di calcolo parallelo, è possibile utilizzare things like GPUArray. Tuttavia, sono confuso su come questo potrebbe funzionare. Stai usando cose come parfor (parallelizzazione) e gpuarray (programmazione gpu) compatibili tra loro? Posso usare entrambi? Qualcosa può essere diviso tra diversi nodi di lavoro (parallelizzazione) e allo stesso tempo utilizzare qualsiasi GPU disponibile su ciascun lavoratore?MATLAB Parallel Computing Toolbox - Parallizzazione vs GPU?
Pensano che valga ancora la pena esplorare il tempo necessario per convertire tutto il codice matlab in codice cuda da eseguire su una macchina con più GPU ... ma penso che l'approccio giusto sarebbe utilizzare le funzionalità già incorporate MATLAB.
Qualsiasi aiuto, consiglio, direzione sarebbe davvero apprezzato!
Grazie!
Si potrebbe pensare di provare Jacket per questo invece di gpuArrays.Non ho mai sentito nessuno contento delle prestazioni di gpuArrays, per questi motivi: http://accelereyes.com/compare – arrayfire