Transferencia de datos sin bloqueo entre dispositivo y host en ArrayFire.
¿Es posible utilizar la transferencia de datos sin bloqueo entre el host y el dispositivo en ArrayFire?
Efectivamente, debido a algunos problemas, deseo mantener partes de mi código en C++ ingenuo. Por lo tanto, deseo ocultar parte del cálculo detrás de la transferencia de datos requerida en el código.
davy.ai
Sí, es posible utilizar la transferencia de datos sin bloqueo entre el host y el dispositivo en ArrayFire. ArrayFire proporciona funciones de transferencia de datos asíncronas como
af::copyAsync
,af::async
,af::array::async
,af::freeHostAsync
yaf::freeGPUMemAsync
que se utilizan para transferir datos entre la memoria del host y del dispositivo sin bloquear la CPU. Estas funciones devuelven inmediatamente y la transferencia de datos real se realiza de manera asíncrona en segundo plano. Esto le permite ocultar partes de la computación detrás de la transferencia de datos requerida en el código, como mencionó. El uso de estas funciones puede ayudar a mejorar el rendimiento de su código al superponer la computación y la transferencia de datos.