Je suis actuellement impliqué dans le développement d'un grand projet de calcul scientifique, et j'explore la possibilité d'accélération matérielle avec les GPU comme alternative à l'approche MPI/cluster. Nous sommes dans une situation principalement liée à la mémoire, avec trop de données à mettre en mémoire pour tenir sur un GPU. À cette fin, j'ai deux questions:Accès GPU au système RAM
1) Les livres que j'ai lus disent qu'il est illégal d'accéder à la mémoire sur l'hôte avec un pointeur sur l'appareil (pour des raisons évidentes). Au lieu de cela, il faut copier la mémoire de la mémoire de l'hôte vers la mémoire de l'appareil, puis effectuer les calculs, puis recopier. Ma question est de savoir s'il existe un moyen de contourner ce problème. Y a-t-il un moyen de lire une valeur dans la RAM du système à partir du GPU?
2) Plus généralement, quels algorithmes/solutions existent pour optimiser le transfert de données entre la CPU et le GPU lors de calculs liés à la mémoire tels que ceux-ci?
Merci pour votre aide dans cette! Je suis enthousiaste à l'idée de passer à CUDA, simplement parce que la parallélisation est beaucoup plus intuitive!
consultez http://stackoverflow.com/questions/5007556/cuda-zero-copy-memory-considerations/5011564#5011564 –