Projet

Général

Profil

Actions

How to use Yoga efficiently

Because the GPU is a "device" in a "host" any GPU application performance tends to be limited by memory operations between the CPU and the GPU.

The first memory operation is the allocation on the GPU memory of the space needed to perform the computation. The second operation is the transfer from the CPU to the GPU of the data needed for the computation. The third operation is the transfer from the GPU to the CPU of the result for printing / display. Although it is a very important operation, we'll pass on freeing the GPU memory.

Depending on the memory bandwidth of the GPU used, both memory transfers can be fast enough so that a significative gain can be obtained by using a GPU. However, memory allocation is a killer, bringing the acceleration factor very close to 1. Hence GPU applications do not necessarily fit all needs and codes have to be designed carefully to take into account these limitations.

Mis à jour par Damien Gratadour il y a presque 14 ans · 3 révisions