Ich bin sehr neu in der GPGPU-Programmierung. Bitte verzeihen Sie mir, wenn die Frage nicht besonders geeignet ist. Soweit ich weiß, ist die GPU-Programmierung im Vergleich zur üblichen CPU-Programmierung eine sehr komplizierte technische Arbeit. Man muss sehr vorsichtig sein, wenn es um Divergenzprobleme, Kacheln, festgelegte Speicherzuweisung und Überlappung zwischen Kommunikation und Berechnung von Hostgeräten geht.
Nachdem ich ein wenig recherchiert hatte, fand ich die Schubbibliothek, die zu versuchen scheint, C ++ STL nachzuahmen. Das ist ganz nett. Aufgrund meiner sehr begrenzten Erfahrung und nachdem ich all das Mikromanagement gesehen habe, das für eine gute Leistung erforderlich ist, bin ich ein wenig skeptisch gegenüber der Leistung. Kann der Schub den komplizierten Programmierteil intern effizient handhaben? Einige sehr bekannte Bibliotheken wie PETSc scheinen dieses Paket zu verwenden, was mich glauben lässt, dass es irgendwie sollte.
Ich habe mich gefragt, ob Leute mit mehr Erfahrung in CUDA und Schub ein oder zwei Worte über die Leistung des Pakets im Vergleich zur CUDA-Programmierung auf niedriger Ebene sagen können. Wann kann ich Schub verwenden und wann sollte ich wieder zu CUDA wechseln?