[Resolu]Instruction SIMD, classe F32vec4
Voilà j'ai un petit problème avec l'utilisation de cette classe ...
Je l'utilise pour construire un 2 tableau qui ensuite seront additionné élément par élément (ce qui permet d'additionner 4 flottant à la fois).
Sauf que ... Je n'arrive pas à utilise un F32vec4 pour réaliser mon addition
Mon code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
__declspec(align(16)) F32vec4 * tableau;
__declspec(align(16)) F32vec4 * tableau1;
__declspec(align(16)) F32vec4 * tableau2;
int taille = 10;
tableau =(F32vec4*)malloc(sizeof(F32vec4)* taille);
tableau1 =(F32vec4*)malloc(sizeof(F32vec4)* taille);
tableau2 =(F32vec4*)malloc(sizeof(F32vec4)* taille);
for (int i = 0; i < taille; i++){
for (int j = 0; j < 4; j ++){
tableau[i][j] = i*10+j;
tableau1[i][j] = i*10+j;
}
}
for (int i = 0; i < taille; i++){
tableau2[i] = tableau1[i] + tableau[i];
} |
L'erreur donnée est qu'il y a un problème d'accès en lecture ... Ce que je comprend pas car quand je veux afficher le contenu des données sources (tableau et tableau1) je n'ai pas de probleme.
(Je fais mon affichage simplement en utilisant un printf("%f %f %f %f\n", tableau[i][0], tableau[i][1],tableau[i][2],tableau[i][3]) )
Si quelqu'un à une idée, je suis preneur car là je seche
Merci d'avance
++ Beleys