Ich möchte eine Bibliothek mit einem Algorithmus entwickeln, der auf der CPU oder der GPU laufen kann. Die GPU kann Nvidia sein (dann wird der Algorithmus CUDA verwenden) oder nicht (dann wird der Algorithmus OpenCL verwenden).Ist es möglich, eine GPU für CUDA/OpenCL Unit Testzwecke zu emulieren?
würde Ich mag eine GPU in diesem Projekt emulieren, weil vielleicht:
Ich werde andere Computer verwenden, um die Software zu entwickeln, und einige von ihnen haben keine GPU.
Die Software wird schließlich in Servern ausgeführt, die eine GPU haben können oder nicht, und der Komponententest muss ausgeführt und bestanden werden.
Gibt es eine Möglichkeit, eine GPU für Komponententests zu emulieren?
In dem folgenden Link:
GPU Emulator for CUDA programming without the hardware
Sie zeigen eine Lösung, sondern nur für CUDA, nicht für OpenCL und die Software, die sie "GPUOcelot" vorschlagen wird nicht mehr aktiv gepflegt.
Die Leistung wird auf einer CPU natürlich schlechter sein, aber ich muss wissen, ob es eine Möglichkeit gibt zu testen, dass der Algorithmus funktioniert und er korrekt programmiert ist, wenn keine GPUs installiert sind. In Komponententests gibt es Bibliotheken zu emulieren, dass eine Datenbank listet, zum Beispiel fakemongo https://github.com/fakemongo emuliert eine mongodb-Datenbank listining, um zu testen, dass Ihre SQL-Funktionen korrekt sind. – Rob
Mögliches Duplikat von [GPU-Emulator für CUDA-Programmierung ohne die Hardware] (http://stackoverflow.com/questions/3087361/gpu-emulator-for-cuda-programming-without-the-hardware) –
In diesem Link sprechen sie nur über cuda (nicht über opencl) und die von ihnen vorgeschlagene Lösung ist eine Software, die nicht aktiv gepflegt wird. – Rob