Qual è la differenza tra l'oggetto buffer e l'oggetto buffer immagine in opencl? È evidente che il buffer delle immagini è più veloce ma in che misura? Dove devono essere usati?Oggetto buffer e oggetto buffer immagine in OpenCL
risposta
Un OpenCL Buffer è un array 1D o 2D o 3D nella memoria globale. È un oggetto astratto che può essere indirizzato attraverso un puntatore. I buffer sono di sola lettura o Write_only o Read-Write. Un buffer immagine rappresenta la memoria Texture GPU. Rappresenta una serie di pixel a cui è possibile accedere tramite funzioni che specificano le coordinate pixel x, y, z. Non c'è l'accesso puntatore a Image Pixel sulla GPU.
L'hardware tratta questi due tipi di buffer in modo diverso. Un OpenCL Buffer è nella Host RAM o GPU RAM e trasferito tra i due. Un OpenCL Image Buffer ha analoghe caratteristiche di di un OpenCL Buffer. Ma le differenze sono Image Buffer o sono di sola lettura o di sola scrittura. Per i buffer di immagini di sola lettura, la GPU può memorizzare nella cache copie dei pixel dell'immagine in ogni unità di elaborazione (= 32 o 64 ALU). Tipicamente la dimensione della cache è 8K (byte o pixel?). Inoltre, poiché non è possibile accedere ai pixel dell'immagine tramite un puntatore sulla GPU. La loro mappatura dalle coordinate x, y, z all'indirizzo fisico può essere mappata in diversi modi. Un modo è quello di ordinare un Z. Questo raggruppa i pixel in due dimensioni in modo che i pixel adiacenti nelle direzioni x, y siano memorizzati in modo lineare. Questo aiuta a velocizzare l'accesso ai pixel vicini nei filtri immagine .
I buffer OpenCL vengono utilizzati per gli array generali e in particolare per gli array che sono in lettura-scrittura, o doppia precisione. I buffer di immagine OpenCL sono utilizzati per l'elaborazione di immagini o altre algorie di elaborazione dei segnali in cui l'immagine/segnale di ingresso può essere considerato di sola lettura.
FYI, a partire da OpenCL 2.x, l'oggetto immagine può essere letto-scrittura.
- 1. Leggi oggetto buffer in node.js
- 2. Quali sono le differenze tra un oggetto frame buffer e un oggetto buffer pixel in OpenGL?
- 3. Oggetto buffer circolare Obj-C, implementando uno?
- 4. TypeError: atteso un oggetto buffer di caratteri
- 5. Esiste un oggetto ObjectInputStream con buffer?
- 6. python buffer di file come oggetto
- 7. OpenCL - Perché utilizzare READ_ONLY o WRITE_ONLY Buffer
- 8. Utilizzo del buffer del protocollo come oggetto dati generale?
- 9. AVPlayerLayer ottiene Immagine a UIImageView Buffer
- 10. StreamReader e buffer in C#
- 11. Vim tabs e buffer
- 12. Copia una parte specifica di un'immagine buffer in un'altra immagine di buffer
- 13. Differenza buffer e cache?
- 14. emacs lisp, come ottenere la modalità buffer buffer?
- 15. Problemi di buffer di profondità e buffer di stencil QML
- 16. Sprintf (buffer, "% s [...]", buffer, [...]) è sicuro?
- 17. boost :: asio :: buffer: recupero della dimensione del buffer e prevenzione dell'overflow del buffer?
- 18. Oggetto immagine selezionabile
- 19. Buffer interrupt
- 20. buffer in avcodec_decode_audio4()
- 21. Buffer per Android e Protocollo
- 22. Rifilatura AudioQueue e dimensione buffer
- 23. getchar() e l'ordine del buffer
- 24. Buffer logici multipli in un buffer di frame reali
- 25. opencv C++ crea oggetto Mat da Android NV21 image data buffer
- 26. Implementazione sicura del buffer circolare
- 27. Come costruire un oggetto TarFile in memoria dal buffer di byte in Python 3?
- 28. Rendi FILE * struct map in un buffer?
- 29. Byte Array su Oggetto immagine
- 30. Oggetto grafico al file immagine
grazie mille per il vostro replay. Ho imparato molto, ma volevo anche sapere quale è più veloce e in quale percentuale – Megharaj
Non esiste una risposta generica alla quale è più veloce e da quale percentuale. Dipende da come il tuo codice accede alla memoria e a quale dispositivo stai usando. –