Benchmark der CL_MEM_USE_HOST_PTR und CL_MEM_COPY_HOST_PTR in OpenCL

Habe ich einen Vektor auf den host und ich möchten, halbieren Sie es und senden Sie an das Gerät. Dabei ein benchmark zeigt, dass CL_MEM_ALLOC_HOST_PTR ist schneller als CL_MEM_USE_HOST_PTR und viel schneller als CL_MEM_COPY_HOST_PTR. Auch memory-Analyse-Gerät zeigt keinen Unterschied in der grösse der Puffer erstellt am Gerät. Diese unterscheidet sich von der Dokumentation der genannten Flagge auf Khronos - clCreateBuffer. Weiß jemand was Los ist???

  • Hallo, sind Sie mit einer gpu, cpu oder apu-Gerät zum ausführen der kernel? auch, welcher Anbieter? verfügt Ihr system über mehrere Prozessoren (NUMA-Architektur?)
  • COPY_HOST_PTR ist eine implizite Kopie, aber ALLOC_HOST_PTR erfordert eine explizite Kopie. Wenn Sie Ihre benchmark für ALLOC_HOST_PTR, sind Sie sicher, dass Sie einschließlich der Sie den zusätzlichen Schritt zum kopieren der Puffer vom host zum Gerät? Wenn nicht, das könnte erklären, warum es so viel schneller.
  • Ich bin mit NVIDIA-gpu als device.
InformationsquelleAutor Damoon | 2012-03-05
Schreibe einen Kommentar