Calcul scientifique performant sur GPU
|
|
- Eric Doré
- il y a 8 ans
- Total affichages :
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
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 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étailUne 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étailM2-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étailCalcul 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étailIntroduction à 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étailInitiation 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étailIntroduction 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étailT. 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étailArchitecture 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étailContrô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étailArchitecture 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étailLimitations 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étailEPREUVE 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étailLes 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étailTPs 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étailObject 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étailWindows 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étailGé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étailMesure 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étailINF6500 : 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étailMaster 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étailSynthè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étailReconstruction 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étailStruxureWare 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étailUE 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étailParallé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étailSegmentation 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étailRapport 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étailIntroduction à 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étailElé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étailEncryptions, 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étailAlgorithmique 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étailArgument-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étailProgrammation 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étailHié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étailIntroduction 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étailSystè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étailAnalyse 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étailRendu 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étailVers 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étailComment 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étailTechnique 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 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étailVMware 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étailEchantillonnage 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étailUne 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étailen 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étailINITIATION 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étailCodage 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étailLe 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étailIntel 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étailLes 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étail4. 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étailUTILISATION 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étailSQL 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étailTransmission 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étailHigh 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étailHadoop, 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étailDE 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étailEXALOGIC 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étailPré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étailIntroduction à 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étailPotentiels 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étailIntroduction 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étailPerformances 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étail1 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étailRapport 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étailCalcul 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étailChapitre 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étailescan 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étailTP 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étailIFT2245 - 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étailRobot 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
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étailLivrable 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étailvbladecenter 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étailINTRODUCTION 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étailEtude 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étail4. 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étailOnce 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étailLicence 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étailTP: 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étailReconnaissance 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étailLogiciel 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étailSoftware 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étailRelever 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étail1. 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étailRé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étailLABO 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étailLe 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étailConception 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étailWindows 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étailTests 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étailIntroduction 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étailServices à 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étailL 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étailSynthè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étailERP 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