Bonsoir
j'ai entendu parlé de cette magie d'exécuté des opérations mathématique simultanément par un seul thread hier. Aujourd'hui, je me suis donc mis à instrinsics. J'ai pu compilé sous mac os (64 bits) avec Xcode et gcc, et cela fonctionnait parfaitement. Mais l'ordi le plus puissant que je dispose tourne sous windows 7 32bit sur un intel i7 930. Dans visual c++ expresse 2010, la librairie de instrinsics est dans les Includes, du moin ... Le fichier xmmintrin.h existe.
Je compile donc ... aucune érreur !
Seulement, l'execution plante.
Voici donc le code compilé :
Pouvez vous m'aider à ce que cela fonctionne ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #include "stdio.h" #include <xmmintrin.h> void add (const float *a, const float *b, float * c) { __m128 t0, t1; t0 = _mm_load_ps (a); t1 = _mm_load_ps (b); t0 = _mm_add_ps (t0, t1); _mm_store_ps (c, t0); } int main (int argc, char * argv[]) { const float a[] = { 2.0f,2.0f,2.0f ,2.0f }; const float b[] = { 1.0f,2.0f,3.0f ,4.0f }; float c[4] ; add (a, b, c); for(int i = 0; i < 4; i++) printf("Resultat %d = %.2f\n", i, c[i]); return 0; }
Merci de votre lecture ainsi que de vos réponse éventuel.
Partager