matlab struct to gpuArray

12 visualizaciones (últimos 30 días)
EssGee
EssGee el 12 de Abr. de 2013
Is it possible to transfer a matlab struct to the GPU? So for example is something like this possible:
s.a = 1
s.b = [1; 2; 3]
s.c = []
s.d = 5
sgpu = gpuArray(s)

Respuesta aceptada

Edric Ellis
Edric Ellis el 12 de Abr. de 2013
You cannot make a structure on the gpu, but you can make a structure containing gpuArrays.
s.a = gpuArray(1)
s.b = gpuArray([1; 2; 3]);
...
  2 comentarios
EssGee
EssGee el 12 de Abr. de 2013
Thanks Eric, I was hoping not to go that route. So if the structure has many variables , they would have to individually transferred as you mention.
I assume each of these operations corresponds to a cudaMEMcpy, or is it an asynchronous memcopy with unified memory?
Edric Ellis
Edric Ellis el 15 de Abr. de 2013
You can use STRUCTFUN to convert a bunch of fields at a time, like this
s.a = magic(3); s.b = magic(4);
gs = structfun(@gpuArray, s, 'UniformOutput', false);
The gpuArray function is indeed currently equivalent to a cudaMemcpy call.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by