Je suis très nouveau dans la programmation GPGPU, alors pardonnez-moi si la question n'est pas particulièrement appropriée. D'après ce que je comprends, la programmation GPU est un travail d'ingénierie très complexe par rapport à la programmation CPU habituelle. Il faut faire très attention aux problèmes de divergence, de tuilage, d'allocation de mémoire épinglée et de chevauchement de la communication hôte-appareil / calcul de l'appareil.
Après avoir fait un peu de recherche, j'ai trouvé la bibliothèque de poussée qui semble essayer d'imiter C ++ STL. C'est assez sympa. Cependant, sur la base de mon expérience très limitée et ayant vu toute la micro-gestion nécessaire pour obtenir de bonnes performances, je suis un peu sceptique quant aux performances. La poussée peut-elle gérer efficacement toute la partie de programmation complexe en interne? Certaines bibliothèques très connues, telles que PETSc, semblent utiliser ce package, ce qui me fait croire qu'il le devrait.
Je me demandais si les personnes ayant plus d'expérience sur CUDA et poussées pourraient dire un mot ou deux sur les performances du package par rapport à la programmation CUDA de bas niveau. Quand puis-je utiliser la poussée et quand dois-je revenir à CUDA?