Calcul scientifique performant sur GPU

Dimension: px
Commencer à balayer dès la page:

Download "Calcul scientifique performant sur GPU"

Transcription

1 Calcul performant sur Applications en : Accélération d un algorithme d Inpainting pour le calcul P. Kestener Y. Moudden CEA-Saclay, IRFU, SEDI, France Service d Electronique, Informatique et Détecteurs Séminaire Sieste, Ens Lyon, 3 mars 2009 Inpainting sur 1 / 45

2 Au menu... Quelques thèmes de recherche à IRFU Introduction au Computing, calcul sur processeur graphique Application en : Inpainting (interpolation de données manquantes) Notion de représentation parcimonieuse Implantation de transformée en ondelettes pour le calcul Inpainting sur 2 / 45

3 Sommaire pour le calcul Inpainting sur pour le calcul Inpainting sur 3 / 45

4 IRFU (Institut de recherche sur les lois fondamentales de l Univers) pour le calcul Inpainting sur 4 / 45

5 IRFU (Institut de recherche sur les lois fondamentales de l Univers) pour le calcul Inpainting sur 5 / 45

6 COAST (COmputational ASTrophysics at Saclay) Projet de simulations numériques massivement parallèles pour l (resp. et technique : R. Teyssier et B. Thooris) développement de méthodes numériques implantation logicielle, optimisation et parallélisation développement d outils de visualisation et bases de données Moyens de calcul : locaux : cluster 256 processeurs Opteron, mémoire de 8GBytes/coeur nationaux : PLATINE, CEA/CCRT, coeurs Itanimum2@1.6GHz, 50 TFlops nationaux : BABEL, CNRS/IDRIS, BlueGene, coeurs PPC, 110 TFlops futur : CEA, GENCI-CINES, combinaison CPU/, Xeon-quad et 48 boites Tesla S1070 (4 ) : TFlops pour le calcul Inpainting sur 6 / 45

7 CEA Cluster hybride CPU/, début 2009 pour le calcul Inpainting sur 7 / 45

8 COAST (COmputational ASTrophysics at Saclay) Quelques codes développés à Saclay : pour le calcul Inpainting sur Ï Ï Ï Ï RAMSES, R. Teyssier et al. : simulation de fluides autogravitants (hydrodynamique3d+mhd+n-corps, raffinement de grille adaptatif ) pour l étude des structures aux grandes échelles et la formation des galaxies, record de simulation N-corps en 2007 (70 milliards de particules) HERACLES, E. Audit et al. : étude du milieu interstellaire (hydrodynamique et transfert radiatif ) ASH, A. S. Brun et al. : code de magnétohydrodynamique en géométrie sphérique (intérieur du Soleil) JUPITER, F. Massey et al. : étude des disques protoplanétaires et forces de marées disque/planète (hydrodynamique 3D, grille adaptative) 8 / 45

9 Sommaire pour le calcul Inpainting sur pour le calcul Inpainting sur 9 / 45

10 Mini historique : 1995 à 1999 pour le calcul Inpainting sur fonction initiale : décharger le CPU de toutes les tâches graphiques matériel dédié pour des tâches spécialisées notion de pipeline graphique 2D puis 3D à partir de 1995 : rendu 3D, fonction de rasterisation (image vectorielle vers image matricielle) et rendu plus complexes 10 / 45

11 Mini historique : 1995 à 1999 pour le calcul Inpainting sur spécification de standards d interface de programmation (API) pour les pipelines graphiques : OpenGL, DirectX essor du 3D grand public (Toy Story chez Pixar, console de jeux) 1999 : transfert vers les des opérations de transformation (multiplication matrice 4x4) et éclairage 11 / 45

12 Mini historique : 2000 et après pipeline graphique programmable : les pixel et vertex-shaders écrit en langage bas-niveau, avantage : plus grande flexibilité et permettre au matériel de suivre les évolutions rapides des standards, programmation plus facile et plus rapide. : Vertex Processors (MIMD), Fragment Processors (SIMD), float 32bits introduction de langages haut-niveau : Cg, GLSL (OpenGl Shading Langage) abstraction du matériel, le programmeur n a besoin de connaître que peu d information sur le matériel pour le calcul Inpainting sur 12 / 45

13 computing GP : General Purpose computions on Nvidia Geforce8800, 2006, vers une architecture unifiée (on fusionne les différents type de shaders processors) CUDA : Compute Unified Device Architecture CUDA SDK (compilateur+librairies) pour le GP, language C-like Applications à l étude : météo : chimie quantique : dynamique moléculaire (problèmes à N corps): analyse finançière : traitement du signal et de l image : -CV https: //picoforge.int-evry.fr/cgi-bin/twiki/view/gpucv/web/ pour le calcul Inpainting sur géophysique 13 / 45

14 computing Serveur dédié au Computing pour le calcul Inpainting sur gain en performance gain en consommation électrique fiabilité??? _Reliability_2008.pdf 14 / 45

15 Architecture Matérielle Nvidia CUDA / G80 cours CUDA : pour le calcul Inpainting sur 16 multi-processeurs (8 SIMD thread processor/multi-processeur) différents types de mémoire on-chip (locale, partagée, texture, constant) et off-chip la mémoire globale. 15 / 45

16 CUDA (Modèle d exécution et programmation) écrire un programme pour un pixel thread instantier ce programme sur beaucoup de threads en parallèle grille indexée de blocs de threads : threadidx et blockidx (built-in variables) threads d un même bloc ont accès à un espace de mémoire partagée les blocs sont indépendants, pas de synchronisation, execution dans un ordre indéfini pour le calcul Inpainting sur 16 / 45

17 CUDA Programmation en C modificateurs de déclaration global void KernelFunc(...); // kernel callable from host device void DeviceFunc(...); // function callable on device device int GlobalVar; // variable in device memory shared int SharedVar; // shared in PDC by thread block mots clés : indexes threadidx, blockidx invocation de fonction en spécifiant les nombre de bloc et threads/bloc pour le calcul Inpainting sur KernelFunc<<<500, 128>>>(...); // launch 500 blocks w/ 128 threads each synchronisation des threads d un même bloc syncthreads(); // barrier synchronization within kernel routines spécifiques inspirées de la libc (ex: allocation mémoire, transfert de données entre les mémoires globales du CPU et du,...) 17 / 45

18 CUDA Programmation en C : exemple exemple : addition de vecteur // Compute vector sum C = A+B // Each thread performs one pair-wise addition global void vecadd(float* A, float* B, float* C) { int i = threadidx.x + blockdim.x * blockidx.x; C[i] = A[i] + B[i]; } invocation void main() { // allocate device () memory float* d_a, d_b, d_c; cudamalloc( (void**) &d_a, N * sizeof(float)); cudamalloc( (void**) &d_b, N * sizeof(float)); cudamalloc( (void**) &d_c, N * sizeof(float)); // copy host memory to device cudamemcpy( d_a, h_a, N * sizeof(float),cudamemcpyhosttodevice); cudamemcpy( d_b, h_b, N * sizeof(float),cudamemcpyhosttodevice); // Execute on N/256 blocks of 256 threads each vecadd<<< N/256, 256>>>(d_A, d_b, d_c); } pour le calcul Inpainting sur 18 / 45

19 Optimisations CUDA Un programme CUDA doit prendre en compte les contraintes suivantes Accès coelescent en mémoire globale : des threads d indexes consécutifs doivent accéder à des cases mémoires d addresse consécutives, problème d alignement Utiliser la mémoire partagée (bien meilleure bande passante que la mémoire globale) Utiliser efficacement le parallélisme Garder le occupé un maximun de temps avoir un rapport calcul / accès mémoire élevé Utiliser au mieux la hiérarchie de threads. Tenir compte des conflits de banc mémoire pour le calcul Inpainting sur 19 / 45

20 Sommaire pour le calcul Inpainting sur pour le calcul Inpainting sur 20 / 45

21 Motivations pour le calcul pour l, démonstrateur de l utilisabilité/efficacité des pour le et spécialement les algorithmes qui peuvent être gourmands en resources et temps de calcul, exemple sur les algorithmes d Inpainting ou interpolation de données manquantes. Bon candidat pour l implantation, algorithme itératif. Inpainting sur 21 / 45

22 Pourquoi et Comment remplir des trous! Pourquoi? enlever des artefacts sur des photos numérisées enlever du texte en sur-impression sur une image remplir des trous à la suite d une transmission mauvaise ou partielle de données meilleur sur-échantillonage en vue d une compression Comment? interpolation pas satisfaisante bien des méthodes : EDP, variationnelle,... Utilisation de la notion de représentation creuse ou parcimonieuse de données (ou sparsity en anglais) idée utilisée pour la compression d image par codage par transformation: Jpeg utilise la DCT, JPEG2000 les ondelettes (CDF97). pour le calcul Inpainting sur 22 / 45

23 Représentation creuse et remplissage de trous! Un trou induit beaucoup de petits coefficients. Inpainting = méthode itérative basée sur le seuillage des petits coefficients pour reconstruire au mieux une approximation du signal de départ. pour le calcul Inpainting sur 23 / 45

24 Représentation creuse et remplissage de trous! Un trou induit beaucoup de petits coefficients. Inpainting = méthode itérative basée sur le seuillage des petits coefficients pour reconstruire au mieux une approximation du signal de départ. pour le calcul Inpainting sur 24 / 45

25 Représentation creuse et remplissage de trous! Un trou induit beaucoup de petits coefficients. Inpainting = méthode itérative basée sur le seuillage des petits coefficients pour reconstruire au mieux une approximation du signal de départ. pour le calcul Inpainting sur 25 / 45

26 Représentation creuse et remplissage de trous! Un trou induit beaucoup de petits coefficients. Inpainting = méthode itérative basée sur le seuillage des petits coefficients pour reconstruire au mieux une approximation du signal de départ. pour le calcul Require: K,n N, image in, image out Require: K,n N, residu, image DCT, mask Require: s min,s max N δ s = (s max s min )/K, s = s max for i = 0 to K do residu = image in image out image DCT = DCT(image out + mask residu) image DCT = image DCT (abs(image DCT ) >= s) image out = DCT 1 (image DCT ) s = δ s end for return image out Inpainting sur 26 / 45

27 Exemples d application de Inpainting appliquée à une image dont 80% des pixels ont été mis à zéro: pour le calcul Inpainting sur 27 / 45

28 Inpainting en Mission Planck 1 (2009): cartographie du fond diffus cosmologique (CMB) masquer les radio-sources du plan galactique qui polluent l analyse des données du CMB (mesure de non-gaussianités, de spectre de puissance, autres mesures statistiques non-locales) et restorer la stationarité résultat d inpainting des données CMB (WMAP) par l algorithme MCA sur la sphère 2 : pour le calcul Inpainting sur P. Abrial et al., Journal of Fourier Analysis and Applications (JFAA), special issue on Analysis on the Sphere, 13, 6, pp , / 45

29 Sommaire pour le calcul Inpainting sur pour le calcul Inpainting sur 29 / 45

30 La Transformée en ondelettes discrète (Lifting scheme) Bases d ondelettes biorthogonales 1D: f (t) = j,n Z < f,ψ j,n > ψ j,n(t) ψ j,n (t) = 1 a j ψ( t a j n) pour le calcul Inpainting sur Ondelette CDF97, reconstruction exacte. 30 / 45

31 La Transformée en ondelettes discrète (Lifting scheme) Bases d ondelettes biorthogonales 1D: f (t) = j,n Z < f,ψ j,n > ψ j,n(t) ψ j,n (t) = 1 a j ψ( t a j n) pour le calcul Inpainting sur Ondelette CDF97, reconstruction exacte. 31 / 45

32 Opérateur Transformée en ondelettes CDF53 CPU void cdf53_1d_row_cpu(float *out, float* in, int scale) { float a; // Predict 1 a=-0.5; for (int i=1;i<scale-2;i+=2) in[i]+=a*(in[i-1]+in[i+1]); in[scale-1]+=2*a*in[scale-2]; // Update 1 a=0.25; for (int i=2;i<scale;i+=2) in[i]+=a*(in[i-1]+in[i+1]); in[0]+=2*a*in[1]; // Scale data and out a=m_sqrt2; for (int i=0;i<scale/2;i++) { out[i]=in[2*i]/a; out[scale/2+i]=in[2*i+1]*a; } } pour le calcul Inpainting sur 32 / 45

33 Opérateur(s) CDF53 sur avec CUDA pour le calcul code CDF53, signal de taille s 512, kernel entièrement en mémoire partagée (1 bloc de N threads par ligne, N est le paramètre d échelle), code CDF53, signal de taille s > 512, image découpée en morceaux (à la façon de l exemple "Convolution Séparable" du SDK Cuda pour la gestion des effets bords); implantation de kernel avec retour en mémoire globale intermédiaire. Tous les kernel sont coalescents en lecture/écriture. Inpainting sur 33 / 45

34 Opérateur(s) CDF53 sur avec CUDA : mémoire partagée global void cdf53_1d_row_sm_kernel(float *data, const int size_x, int scale) { shared float shared[block_dim]; const int x = threadidx.x; unsigned int index = size_x*y + x; shared[x] = data[index]; syncthreads(); const int y = blockdim.y; pour le calcul Inpainting sur if((x < scale) && (y < scale)){ // Predict 1 if(x<scale/2-1) shared[2*x+1] -= 0.5*(shared[2*x]+shared[2*x+2]); if (x == scale/2-1) shared[scale-1] -= shared[scale-2]; syncthreads(); // Update 1 if(x<scale/2 && x>0) shared[2*x] += 0.25*(shared[2*x-1]+shared[2*x+1]); if (x == 0) shared[0] += 0.5*shared[1]; syncthreads(); // Scale and Pack back to global memory const float a = M_SQRT2; if(x < scale/2) data[index] = shared[2*x]/a; else data[index] = shared[2*x-scale+1]*a; } } 34 / 45

35 Opérateur(s) CDF53 sur avec CUDA : par morceaux Découpage en morceaux (à la Convolution Séparable ): Implantation complète: for (int scale = DATA_W; scale >lowestscale; scale >>= 1) { if (scale > scaletransition) { // scale > 512 blockgridrows.x = idivup(scale, ROW_TILE_W); blockgridrows.y = scale; blockgridcols.x = idivup(scale, COLUMN_TILE_W); blockgridcols.y = idivup(scale, COLUMN_TILE_H); cdf53row(d_datab, d_dataa, DATA_W, DATA_H, scale, scale, gridrows, threadrows, gridpack, threadpack); cdf53col(d_datab, d_dataa, DATA_W, DATA_H, scale, scale, bridcols, threadcols, gridpack, threadpack); } else { // use the shared memory version grid_row.y = threads_row.x = scale; grid_col.x = threads_col.y = scale; cdf53 predict pour le calcul Inpainting sur cdf53_1d_row_sharedmem_kernel<<< grid_row, threads_row>>>(d_dataa,data_w,scale) cdf53_1d_col_sharedmem_kernel<<< grid_col, threads_col>>>(d_dataa,data_w,scale) } } 35 / 45

36 CDF97 / CUDA performances Différentes implantations utilisées sur CPU/ d une transformée CDF97 2d : Matlab : http: // implantation naïve en C dérivée de 1 implantation optimisée en C utilisant les routines ippiwtfwdrow_d97_jpeg2k_32f_c1r et ippiwtfwdcol_d97_jpeg2k_32f_c1r de la librairie IPP d Intel (optimisées pour les instructions SIMD - SSE des processeurs Intel) 2 implantation CUDA originale 1 ce code a été modifié pour une transformation 2d en optimisant l allocation mémoire et en fusionant les opérations scale et pack 2 Intel Integrated Performance Primitives 6.0, with Intel compiler 11.0 sur cpu E6750@2.66GHz, 4Mb de cache, FSB 1.33GHz pour le calcul Inpainting sur 36 / 45

37 CDF97 / CUDA performances Temps de calcul 1 CDF97 2D sur 2 et CPU 3 (en ms) en fonction de la taille d image taille CPU Matlab CPU C CPU intel 4 CPU C CPU intel Améliorations possibles de l implantation CUDA: aux petites échelles, regrouper plusieurs lignes dans un même bloc 1 temps de transfert de données non inclus 2 GTX8800, CUDA 2.0, driver Intel Quad Q6600@2.4GHz, Ubuntu Intel compiler, MKL, IPP -> optimisation SIMD/SSE pour le calcul Inpainting sur 37 / 45

38 Discrète (DCT) 2D X k1,k 2 = N 1 1 N 2 1 n 1 =0 n 2 =0 [ π x n1,n 2 cos (n ] [ π N 1 2 )k 1 cos (n ] N 2 2 )k 2 FFTW: CuFFT:, pas implanté. On peut décomposer l opérateur DCT direct en 3 étapes 3 : 1. pre-processing: permutation, for (i=0; i<n1/2; i++) { for (j=0; j<n2/2; j++) { out[j +N2*i ] = in[2*j +N2*2*i]; out[j+n2/2+n2*i ] = in[n2-1-2*j+n2*2*i]; out[j +N2*(i+N1/2)] = in[2*j +N2*(N1-1-2*i)]; out[j+n2/2+n2*(i+n1/2)] = in[n2-1-2*j+n2*(n1-1-2*i)]; } } 2. DFT(N1,N2), 3. recombinaison code. 3 John Makhoul, A fast cosine transform in one and two dimensions, IEEE Trans. Acoust. Speech Sig. Proc. 28 (1), (1980). pour le calcul Inpainting sur 38 / 45

39 Discrète (DCT) 2D X k1,k 2 = N 1 1 N 2 1 n 1 =0 n 2 =0 [ π x n1,n 2 cos (n ] [ π N 1 2 )k 1 cos (n ] N 2 2 )k 2 FFTW: CuFFT:, pas implanté. On peut décomposer l opérateur DCT direct en 3 étapes 3 : 1. pre-processing: permutation, 2. DFT(N1,N2), 3. recombinaison code. pour le calcul Inpainting sur 3 John Makhoul, A fast cosine transform in one and two dimensions, IEEE Trans. Acoust. Speech Sig. Proc. 28 (1), (1980). 39 / 45

40 Opérateur DCT direct sur avec CUDA Implantation du pre-processing (permutation) global void dct2dpreprocess(real *in, Complex *out, int width, int height){ int xindex = blockidx.x * BLOCK_DIM + threadidx.x; int yindex = blockidx.y * BLOCK_DIM + threadidx.y; if((xindex < width) && (yindex < height)) { int index_in = yindex * width + xindex; if (threadidx.x is even) xindex /= 2; else if (threadidx.y is even) yindex /= 2; else int index_out = yindex * width + xindex; out[index_out].x = in[index_in]; out[index_out].y = 0; } } xindex = (width-1-xindex)/2+width/2; pour le calcul Inpainting sur yindex = (height-1-yindex)/2+height/2; 40 / 45

41 DCT / CUDA performances Profiling de la DCT 2d directe (N = ) sur (GTX8800) versus CPU (Quad Q6600@2.4GHz) method=[ dct2dpreproc ] gputime=[ ] occup.=[ 1.00 ] method=[ DFT ] gputime=[ ] occup.=[ 0.33 ] method=[ dct2dpostproc ] gputime=[ ] occup.=[ 0.33 ] pour le calcul Inpainting sur temps de calcul CPU(FFTW) / (CUDA): 48ms / 5.9ms, (accéleration 8.3) Les étapes de pre et post-processing représentent 40 % du temps de calcul ( 2ms) sur. tentative d optimiser le pre-processing pour rendre les accès en lecture et écriture coalescents: gain minime ( 10%) pour une compléxité nettement accrue du code. 41 / 45

42 DCT / CUDA performances Temps de calcul DCT2D sur 1 et CPU 2 (en ms) en fonction de la taille d image taille CPU accél /CPU Améliorations possibles : écrire une implantation dédiée de la DCT utiliser une autre librairie de FFT sur 3 1 GTX Intel Quad Q6600@2.4GHz 3 Govindaraju et al., High Performance Discrete Fourier Transforms on Graphics Processors, SuperComputing 2008, Austin. pour le calcul Inpainting sur 42 / 45

43 Performance de l inpainting par DCT / CDF sur problème traité : image de Lena avec 40 % de pixels mis à zéro, 50 itérations Temps de calcul complet d un inpainting par DCT2D sur et CPU (en ms) en fonction de la taille d image taille CPU accél /CPU pour le calcul Inpainting sur 43 / 45

44 Performance de l inpainting par DCT / CDF sur problème traité : image de Lena avec 40 % de pixels mis à zéro, 50 itérations Temps de calcul complet d un inpainting par TO-CDF97 toute échelle sur et CPU (en ms) en fonction de la taille d image taille CPU accél /CPU pour le calcul Inpainting sur 44 / 45

45 Résultats pour le calcul Inpainting sur 45 / 45

46 Sommaire Codes de la DCT 2D Bibliographie Codes de la DCT 2D Bibliographie 46 / 45

47 Discrète (DCT) 2D Codes de la DCT 2D Bibliographie La permutation de pre-processing sur CPU: for (i=0; i<n1/2; i++) { for (j=0; j<n2/2; j++) { out[j +N2*i ] = in[2*j +N2*2*i]; } } out[j+n2/2+n2*i ] = in[n2-1-2*j+n2*2*i]; out[j +N2*(i+N1/2)] = in[2*j +N2*(N1-1-2*i)]; out[j+n2/2+n2*(i+n1/2)] = in[n2-1-2*j+n2*(n1-1-2*i)]; 47 / 45

48 Discrète (DCT) 2D L opération de post-processing sur CPU: for (i=0; i<n1; i++) { for (j=0; j<n2; j++) { retour Codes de la DCT 2D Bibliographie } } cos_a = cos(-m_pi*i/2/n1-m_pi*j/2/n2); sin_a = sin(-m_pi*i/2/n1-m_pi*j/2/n2); cos_b = cos(-m_pi*i/2/n1+m_pi*j/2/n2); sin_b = sin(-m_pi*i/2/n1+m_pi*j/2/n2); if (j==0) { datadct[n2*i] = datadft[n2*i].real()*cos_a - datadft[n2*i].imag()*sin_a; } else { datadct[j+n2*i] = 0.5*(dataDft[j+N2*i].real()*cos_adataDft[j+N2*i].imag()*sin_a+ datadft[n2-j+n2*i].real()*cos_bdatadft[n2-j+n2*i].imag()*sin_b); } 48 / 45

49 Discrète (DCT) 2D La permutation de pre-processing sur : global void dct2dpreprocess(real *in, Complex *out, int width, int height){ int xindex = blockidx.x * BLOCK_DIM + threadidx.x; int yindex = blockidx.y * BLOCK_DIM + threadidx.y; if((xindex < width) && (yindex < height)) { int index_in = yindex * width + xindex; if (threadidx.x == 2*(threadIdx.x/2)) xindex /= 2; else xindex = (width-1-xindex)/2+width/2; if (threadidx.y == 2*(threadIdx.y/2)) yindex /= 2; else yindex = (height-1-yindex)/2+height/2; Codes de la DCT 2D Bibliographie } } int index_out = yindex * width + xindex; out[index_out].x = in[index_in]; out[index_out].y = 0; 49 / 45

50 Discrète (DCT) 2D L opération de post-processing sur : global void dct2dpostprocess(complex * in, Real * out, int width, int height) { float real, real2, imag, imag2; float cos_a,sin_a,cos_b,sin_b; int yindex = blockidx.x * blockdim.x + threadidx.x; int xindex = blockidx.y * blockdim.y + threadidx.y; int index = yindex + height*xindex; int index2 = height-yindex+height*xindex; Codes de la DCT 2D Bibliographie if((xindex < width) && (yindex < height)) { cos_a = cos(-m_pi_2*xindex/width-m_pi_2*yindex/height); sin_a = sin(-m_pi_2*xindex/width-m_pi_2*yindex/height); cos_b = cos(-m_pi_2*xindex/width+m_pi_2*yindex/height); sin_b = sin(-m_pi_2*xindex/width+m_pi_2*yindex/height); real = in[index].x; imag = in[index].y; if (yindex==0) { out[height*xindex] = real*cos_a - imag*sin_a; } else { 50 / 45

51 Transformée en ondelettes 2D CDF53, kernel predict retour global void cdfrowpredict(...){ shared float data[kernel_radius + ROW_TILE_W + KERNEL_RADIUS]; //Current tile and apron limits, relative to row start const int tilestart = IMUL(blockIdx.x, ROW_TILE_W); const int tileend = tilestart + ROW_TILE_W - 1; const int apronstart = tilestart - KERNEL_RADIUS; const int apronend = tileend + KERNEL_RADIUS; //Clamp tile and apron limits by image borders const int tileendclamped = min(tileend, datawscale - 1); const int apronstartclamped = max(apronstart, 0); const int apronendclamped = min(apronend, datawscale - 1); //Row start index const int rowstart = IMUL(blockIdx.y, dataw); const int apronstartaligned = tilestart - KERNEL_RADIUS_ALIGNED; Codes de la DCT 2D Bibliographie const int loadpos = apronstartaligned + threadidx.x; if(loadpos >= apronstart){ const int smempos = loadpos - apronstart; data[smempos] = ((loadpos >= apronstartclamped) && (loadpos <= apronendclamped))? d_data[rowstart + loadpos] : 0; } syncthreads(); const int writepos = tilestart + threadidx.x; if(writepos <= tileendclamped && blockidx.y < datahscale){ const int smempos = writepos - apronstart; const int gmempos = rowstart + writepos; if ( gmempos!= 2*(gmemPos >> 1) && writepos < datawscale-2) data[smempos] += coef*(data[smempos-1]+data[smempos+1]); if ( writepos == (datawscale - 1) ) data[smempos] += 2*coef*data[smemPos-1]; if (writepos < datawscale) d_result[gmempos] = data[smempos]; 51 / 45

52 Backup sur Tesla Codes de la DCT 2D Bibliographie 52 / 45

53 Sommaire Codes de la DCT 2D Bibliographie Codes de la DCT 2D Bibliographie 53 / 45

54 Sur CUDA Codes de la DCT 2D liens et ressources pédagogiques sur CUDA : Bibliographie courses.html Final.pdf Evolution of the Graphical Processing Unit, Thomas Scott Crow, University of Nevada, Master of Science, informatik.uibk.ac.at/teaching/ss2008/seminar/ gpu.pdf s - Graphics Processing Units, Minh Tri Do Dinh, Institute of Computer Science, University of Innsbruck. http: //courses.ece.uiuc.edu/ece498/al/syllabus.html Programming Massively Parallel Processor, ECE 498 AL, Illinois University 54 / 45

Introduction à CUDA. gael.guennebaud@inria.fr

Introduction à CUDA. gael.guennebaud@inria.fr 36 Introduction à CUDA gael.guennebaud@inria.fr 38 Comment programmer les GPU? Notion de kernel exemple (n produits scalaires): T ci =ai b ( ai, b : vecteurs 3D, ci for(int i=0;i

Plus en détail

. Plan du cours. . Architecture: Fermi (2010-12), Kepler (12-?)

. Plan du cours. . Architecture: Fermi (2010-12), Kepler (12-?) Plan du cours Vision mate riel: architecture cartes graphiques NVIDIA INF 560 Calcul Paralle le et Distribue Cours 3 Vision logiciel: l abstraction logique de l architecture propose e par le langage CUDA

Plus en détail

Une bibliothèque de templates pour CUDA

Une bibliothèque de templates pour CUDA Une bibliothèque de templates pour CUDA Sylvain Collange, Marc Daumas et David Defour Montpellier, 16 octobre 2008 Types de parallèlisme de données Données indépendantes n threads pour n jeux de données

Plus en détail

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013 Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :

Plus en détail

Calcul multi GPU et optimisation combinatoire

Calcul multi GPU et optimisation combinatoire Année universitaire 2010 2011 Master recherche EEA Spécialité : SAID Systèmes Automatiques, Informatiques et Décisionnels Parcours : Systèmes Automatiques Calcul multi GPU et optimisation combinatoire

Plus en détail

Introduction à la programmation des GPUs

Introduction à la programmation des GPUs Introduction à la programmation des GPUs Anne-Sophie Mouronval Mesocentre de calcul de l Ecole Centrale Paris Laboratoire MSSMat Avril 2013 Anne-Sophie Mouronval Introduction à la programmation des GPUs

Plus en détail

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Introduction au calcul parallèle avec OpenCL

Introduction au calcul parallèle avec OpenCL Introduction au calcul parallèle avec OpenCL Julien Dehos Séminaire du 05/01/2012 Sommaire Introduction Le calculateur du CGR/LISIC/LMPA Généralités sur OpenCL Modèles Programmation Optimisation Conclusion

Plus en détail

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5 Modélisation de la performance et optimisation d un algorithme hydrodynamique de type Lagrange-Projection sur processeurs multi-cœurs T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Décoder la relation entre l architecture et les applications Violaine Louvet, Institut Camille Jordan CNRS & Université Lyon 1 Ecole «Découverte du Calcul» 2013 1 / 61 Simulation numérique... Physique

Plus en détail

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle 1 CEA R & D for Nuclear Energy 5 000 people Nuclear systems

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Formation en Calcul Scientifique - LEM2I Architecture des calculateurs Violaine Louvet 1 1 Institut Camille jordan - CNRS 12-13/09/2011 Introduction Décoder la relation entre l architecture et les applications

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

Limitations of the Playstation 3 for High Performance Cluster Computing Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Les mésocentres HPC àportée de clic des utilisateurs industriels

Les mésocentres HPC àportée de clic des utilisateurs industriels Les mésocentres HPC àportée de clic des utilisateurs industriels Université de Reims Champagne-Ardenne (URCA) Centre de Calcul ROMEO Multidisciplinary university more than 22 000 students a wide initial

Plus en détail

TPs Architecture des ordinateurs DUT Informatique - M4104c SUJETS. R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr

TPs Architecture des ordinateurs DUT Informatique - M4104c SUJETS. R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr TPs Architecture des ordinateurs DUT Informatique - M4104c SUJETS R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr 2015 Table des matières 1 TP 1 : prise en main 2 1.1 Introduction.......................................................

Plus en détail

Object Removal by Exemplar-Based Inpainting

Object Removal by Exemplar-Based Inpainting Object Removal by Exemplar-Based Inpainting Kévin Polisano A partir d un article de A. Criminisi, P. Pérez & H. K. Toyama 14/02/2013 Kévin Polisano Object Removal by Exemplar-Based Inpainting 14/02/2013

Plus en détail

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008 Windows Server 2008 Chapitre 1: Découvrir Windows Server 2008 Objectives Identifier les caractéristiques de chaque édition de Windows Server 2008 Identifier les caractéristiques généraux de Windows Server

Plus en détail

Génération de code binaire pour application multimedia : une approche au vol

Génération de code binaire pour application multimedia : une approche au vol Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation

Plus en détail

Mesure agnostique de la qualité des images.

Mesure agnostique de la qualité des images. Mesure agnostique de la qualité des images. Application en biométrie Christophe Charrier Université de Caen Basse-Normandie GREYC, UMR CNRS 6072 Caen, France 8 avril, 2013 C. Charrier NR-IQA 1 / 34 Sommaire

Plus en détail

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe

Plus en détail

Master première année. Mention : Statistiques et Traitement de Données «STD» Rapport de stage

Master première année. Mention : Statistiques et Traitement de Données «STD» Rapport de stage Université Blaise Pascal UFR Sciences et Technologie Département de Mathématique et Informatique 63177 AUBIERE CEDEXFrance Laboratoire de Météorologie Physique (LaMP) 24 avenue des Landais 63177 Aubière

Plus en détail

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La Synthèse d'images I Venceslas BIRI IGM Université de Marne La La synthèse d'images II. Rendu & Affichage 1. Introduction Venceslas BIRI IGM Université de Marne La Introduction Objectif Réaliser une image

Plus en détail

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains

Plus en détail

StruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie

StruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie StruxureWare Power Monitoring v7.0 La nouvelle génération en matière de logiciel de gestion complète d énergie Évolution des deux plate-formes originales Power Monitoring v7.0 SMS ION Enterprise 2012 Struxureware

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre

Plus en détail

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Segmentation d'images à l'aide d'agents sociaux : applications GPU Segmentation d'images à l'aide d'agents sociaux : applications GPU Richard MOUSSA Laboratoire Bordelais de Recherche en Informatique (LaBRI) - UMR 5800 Université de Bordeaux - France Laboratoire de recherche

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

Eléments d architecture des machines parallèles et distribuées

Eléments d architecture des machines parallèles et distribuées M2-RISE - Systèmes distribués et grille Eléments d architecture des machines parallèles et distribuées Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Notions d architecture

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Systèmes et traitement parallèles

Systèmes et traitement parallèles Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications

Plus en détail

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1 Analyse d images Edmond.Boyer@imag.fr Edmond Boyer UFRIMA 1 1 Généralités Analyse d images (Image Analysis) : utiliser un ordinateur pour interpréter le monde extérieur au travers d images. Images Objets

Plus en détail

Rendu temps réel de mer et de nuages

Rendu temps réel de mer et de nuages Rendu temps réel de mer et de nuages Linares Antonin, Boyer Julien 17 décembre 2008 1 Résumé Nous allons traiter dans ce document les différentes méthodes explorées afin de parvenir à un rendu en temps

Plus en détail

Vers du matériel libre

Vers du matériel libre Février 2011 La liberté du logiciel n est qu une partie du problème. Winmodems Modem traditionnel Bon fonctionnement Plus cher Electronique propriétaire Blob sur DSP intégré au modem Bien reçu par les

Plus en détail

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,

Plus en détail

Technique de compression des images médicales 4D

Technique de compression des images médicales 4D Technique de compression des images médicales 4D Leila Belhadef 1 et Zoulikha Mekkakia 1 1 Département d Informatique, USTO-MB, BP 1505 El Mnaouer, Oran, Algérie l.belhadef@gmail.com, mekkakia@univ-usto.dz

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes VMware ESX : Installation VMware ESX : Installation Créer la Licence ESX 3.0.1 Installation ESX 3.0.1 Outil de management Virtual Infrastructure client 2.0.1 Installation Fonctionnalités Installation Virtual

Plus en détail

Echantillonnage Non uniforme

Echantillonnage Non uniforme Echantillonnage Non uniforme Marie CHABERT IRIT/INP-ENSEEIHT/ ENSEEIHT/TéSASA Patrice MICHEL et Bernard LACAZE TéSA 1 Plan Introduction Echantillonnage uniforme Echantillonnage irrégulier Comparaison Cas

Plus en détail

Une méthode de conception de systèmes sur puce

Une méthode de conception de systèmes sur puce École thématique ARCHI 05 Une méthode de conception de systèmes sur puce (de l intégration d applications) Frédéric PÉTROT Laboratoire TIMA Institut National Polytechnique de Grenoble Frédéric Pétrot/TIMA/INPG

Plus en détail

en version SAN ou NAS

en version SAN ou NAS tout-en-un en version SAN ou NAS Quand avez-vous besoin de virtualisation? Les opportunités de mettre en place des solutions de virtualisation sont nombreuses, quelque soit la taille de l'entreprise. Parmi

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur Codage hiérarchique et multirésolution (JPEG 000) Codage Vidéo Représentation de la couleur Codage canal et codes correcteurs d erreur Format vectoriel (SVG - Scalable Vector Graphics) Organisation de

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

Intel Corporation Nicolas Biguet Business Development Manager Intel France

Intel Corporation Nicolas Biguet Business Development Manager Intel France Les serveurs pour l Entreprise Intel Corporation Nicolas Biguet Business Development Manager Intel France 1 Les orientations stratégiques Clients Réseaux Serveurs Fournir les les éléments de de base des

Plus en détail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

UTILISATION DE LA PLATEFORME WEB D ANALYSE DE DONNÉES GALAXY

UTILISATION DE LA PLATEFORME WEB D ANALYSE DE DONNÉES GALAXY UTILISATION DE LA PLATEFORME WEB D ANALYSE DE DONNÉES GALAXY Yvan Le Bras yvan.le_bras@irisa.fr Cyril Monjeaud, Mathieu Bahin, Claudia Hériveau, Olivier Quenez, Olivier Sallou, Aurélien Roult, Olivier

Plus en détail

SQL Server 2012 et SQL Server 2014

SQL Server 2012 et SQL Server 2014 SQL Server 2012 et SQL Server 2014 Principales fonctions SQL Server 2012 est le système de gestion de base de données de Microsoft. Il intègre un moteur relationnel, un outil d extraction et de transformation

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi Thèse High Performance by Exploiting Information Locality through Reverse Computing Présentée et soutenue publiquement le 21 décembre 2011 par Mouad Bahi pour l obtention du Doctorat de l université Paris-Sud

Plus en détail

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives Hadoop, Spark & Big Data 2.0 Exploiter une grappe de calcul pour des problème des données massives Qui suis-je? Félix-Antoine Fortin Génie info. (B. Ing, M. Sc, ~PhD) Passionné de Python, Data Analytics,

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

EXALOGIC ELASTIC CLOUD MANAGEMENT

EXALOGIC ELASTIC CLOUD MANAGEMENT EXALOGIC ELASTIC CLOUD MANAGEMENT Jean-Marc Digne Ingénieur Avant Vente Oracle France 1 The following is intended to outline our general product direction. It is intended for information purposes only,

Plus en détail

Prérequis réseau constructeurs

Prérequis réseau constructeurs Prérequis réseau constructeurs - Guide de configuration du réseau Page 2 - Ports utilisés - Configuration requise - OS et navigateurs supportés Page 4 Page 7 Page 8 Guide de configuration du réseau NB:

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés Potentiels de la technologie FPGA dans la conception des systèmes Avantages des FPGAs pour la conception de systèmes optimisés Gérard FLORENCE Lotfi Guedria Agenda 1. Le CETIC en quelques mots 2. Générateur

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Performances et optimisations

Performances et optimisations Performances et optimisations Outils pour le calcul scientifique à haute performance École doctorale sciences pour l ingénieur juin 2001 Philippe MARQUET phm@lifl.fr Laboratoire d informatique fondamentale

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Rapport 2014 et demande pour 2015. Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Rapport 2014 et demande pour 2015. Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rapport 2014 et demande pour 2015 Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rappel sur Méso-NH : Modélisation à moyenne échelle de l atmosphère

Plus en détail

Calcul scientifique précis et efficace sur le processeur CELL

Calcul scientifique précis et efficace sur le processeur CELL Université P. et M. Curie Master spécialité informatique Calcul scientifique précis et efficace sur le processeur CELL NGUYEN Hong Diep Rapport de stage recherche de master 2 effectué au laboratoire LIP6

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

escan Entreprise Edititon Specialist Computer Distribution

escan Entreprise Edititon Specialist Computer Distribution escan Entreprise Edititon Specialist Computer Distribution escan Entreprise Edition escan entreprise Edition est une solution antivirale complète pour les entreprises de toutes tailles. Elle fournit une

Plus en détail

TP SIN Traitement d image

TP SIN Traitement d image TP SIN Traitement d image Pré requis (l élève doit savoir): - Utiliser un ordinateur Objectif terminale : L élève doit être capable de reconnaître un format d image et d expliquer les différents types

Plus en détail

IFT2245 - Systèmes d exploitation - TP n 1-20%

IFT2245 - Systèmes d exploitation - TP n 1-20% IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT

Plus en détail

Robot WIFIBOT Lab V3. 4 roues motrices

Robot WIFIBOT Lab V3. 4 roues motrices 4 roues motrices Lab V3 Robot WIFIBOT Lab V3 Architecture modulaire et ouverte Contrôlable en RS232 ou en Wifi PC x86 embarqué avec une image Xpe ou Linux Ubuntu Le Wifibot Lab est une plate forme robotique

Plus en détail

<Insert Picture Here> Solaris pour la base de donnés Oracle

<Insert Picture Here> Solaris pour la base de donnés Oracle Solaris pour la base de donnés Oracle Alain Chéreau Oracle Solution Center Agenda Compilateurs Mémoire pour la SGA Parallélisme RAC Flash Cache Compilateurs

Plus en détail

Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC

Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC Groupe des Ecoles des Télécommunications Institut National des Télécommunications Département ARTEMIS Advanced Research & TEchniques for Multidimensional Imaging Systems Livrable 2.1 Rapport d analyse

Plus en détail

vbladecenter S! tout-en-un en version SAN ou NAS

vbladecenter S! tout-en-un en version SAN ou NAS vbladecenter S! tout-en-un en version SAN ou NAS Quand avez-vous besoin de virtualisation? Les opportunités de mettre en place des solutions de virtualisation sont nombreuses, quelque soit la taille de

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Etude d architecture de consolidation et virtualisation

Etude d architecture de consolidation et virtualisation BOUILLAUD Martin Stagiaire BTS Services Informatiques aux Organisations Janvier 2015 Etude d architecture de consolidation et virtualisation Projet : DDPP Table des matières 1. Objet du projet... 3 2.

Plus en détail

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr 4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne Objectifs : Ce TP est relatif aux différentes méthodes de codage d une information binaire, et à la transmission en bande de base de cette information. Les grandes lignes de ce TP sont l étude des méthodes

Plus en détail

Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12

Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12 Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12 2 Discrimination Invariance Expressions faciales Age Pose Eclairage 11/12/2012 3 Personne Inconnue Identité

Plus en détail

Logiciel MAXPRO NVR SOLUTION D ENREGISTREMENT VIDÉO RÉSEAU

Logiciel MAXPRO NVR SOLUTION D ENREGISTREMENT VIDÉO RÉSEAU SOLUTION D ENREGISTREMENT VIDÉO RÉSEAU Le logiciel MAXPRO NVR d Honeywell est un système IP ouvert de surveillance flexible et évolutif. Grâce à la prise en charge des caméras haute définition (HD) d Honeywell

Plus en détail

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel Software and Hardware Datasheet / Fiche technique du logiciel et du matériel 1 System requirements Windows Windows 98, ME, 2000, XP, Vista 32/64, Seven 1 Ghz CPU 512 MB RAM 150 MB free disk space 1 CD

Plus en détail

Relever les défis des véhicules autonomes

Relever les défis des véhicules autonomes EMM 2014 12eme rencontre européenne de mécatronique Relever les défis des véhicules autonomes Mathias Perrollaz Ingénieur expert Inria Christian Laugier Directeur de recherche Inria E-Motion Team Annecy,

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

LABO 5 ET 6 TRAITEMENT DE SIGNAL SOUS SIMULINK

LABO 5 ET 6 TRAITEMENT DE SIGNAL SOUS SIMULINK LABO 5 ET 6 TRAITEMENT DE SIGNAL SOUS SIMULINK 5.1 Introduction Simulink est l'extension graphique de MATLAB permettant, d une part de représenter les fonctions mathématiques et les systèmes sous forme

Plus en détail

Le stockage unifié pour réduire les coûts et augmenter l'agilité

Le stockage unifié pour réduire les coûts et augmenter l'agilité Le stockage unifié pour réduire les coûts et augmenter l'agilité Philippe Rolland vspecialist EMEA Herve Oliny vspecialist EMEA Mikael Tissandier vspecialist EMEA Des défis informatiques plus complexes

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Windows 7 - Installation du client

Windows 7 - Installation du client Windows 7 - Installation du client 1 - Présentation Windows 7 est un système d exploitation client basé sur le noyau NT 6.1, disponible en six versions, commercialisé depuis octobre 2009. Résumé des fonctionnalités

Plus en détail

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail

Introduction au maillage pour le calcul scientifique

Introduction au maillage pour le calcul scientifique Introduction au maillage pour le calcul scientifique CEA DAM Île-de-France, Bruyères-le-Châtel franck.ledoux@cea.fr Présentation adaptée du tutorial de Steve Owen, Sandia National Laboratories, Albuquerque,

Plus en détail

Services à la recherche: Data Management et HPC *

Services à la recherche: Data Management et HPC * Services à la recherche: Data Management et HPC * Pierre-Yves Burgi et Jean-François Rossignol Division informatique (DINF) * HPC = High-Performance Computing Réunion CIF Sciences du 6.12.11 1/19 Contenu

Plus en détail

L offre Stockage et serveurs System x / BladeCenter F.Libier, Business Partner Technical Manager

L offre Stockage et serveurs System x / BladeCenter F.Libier, Business Partner Technical Manager L offre Stockage et serveurs System x / BladeCenter F.Libier, Business Partner Technical Manager 2009 IBM Corporation Une offre IBM optimisée pour les infrastructures dynamiques Réduire les coûts Améliorer

Plus en détail

Synthèse d images Edmond Boyer

Synthèse d images Edmond Boyer Synthèse d images Edmond Boyer Edmond.Boyer@imag.fr UFRIMA 1 Une introduction aux techniques de l image Techniques de l image : utiliser l ordinateur pour interpréter ou générer des imag es. Motivations

Plus en détail

ERP Service Negoce. Pré-requis CEGID Business version 2008. sur Plate-forme Windows. Mise à jour Novembre 2009

ERP Service Negoce. Pré-requis CEGID Business version 2008. sur Plate-forme Windows. Mise à jour Novembre 2009 ERP Service Negoce Pré-requis CEGID Business version 2008 sur Plate-forme Windows Mise à jour Novembre 2009 Service d'assistance Téléphonique 0 825 070 025 Pré-requis Sommaire 1. PREAMBULE... 3 Précision

Plus en détail