Como executar uma cópia profunda de struct com CUDA? [duplicado
Esta pergunta já tem uma resposta aqui:
Copiar uma estrutura contendo ponteiros para o dispositivo CUDA 3 respostasProgramação com CUDA Estou enfrentando um problema ao tentar copiar alguns dados do host para a gp
Tenho 3 estruturas aninhadas como estas:
typedef struct {
char data[128];
short length;
} Cell;
typedef struct {
Cell* elements;
int height;
int width;
} Matrix;
typedef struct {
Matrix* tables;
int count;
} Container;
TãoContainer
"inclui" algunsMatrix
lementos @, que por sua vez incluem alguns elementosCell
elementos.
uponha que aloque dinamicamente a memória do host desta maneir
Container c;
c.tables = malloc(20 * sizeof(Matrix));
for(int i = 0;i<20;i++){
Matrix m;
m.elements = malloc(100 * sizeof(Cell));
c.tables[i] = m;
}
Ou seja, um contêiner de 20 matrizes de 100 células cad
Como agora eu poderia copiar esses dados na memória do dispositivo usando cudaMemCpy ()?xiste alguma boa maneira de executar uma cópia profunda de "struct of struct" do host para o dispositivObrigado pelo seu tempo
Andrea