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

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

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

Transcription

1 Université Blaise Pascal UFR Sciences et Technologie Département de Mathématique et Informatique AUBIERE CEDEXFrance Laboratoire de Météorologie Physique (LaMP) 24 avenue des Landais Aubière Master première année Mention : Statistiques et Traitement de Données «STD» Rapport de stage Simulation rapide du transfert radiatif en 3D dans les nuages atmosphériques à l'aide de processeur graphique «GPU» Validation du cas du nuage plan-parallèle homogène Réalisé par : Imane Hammouali Tuteurs de stage: Mr. Frédéric Szczap (LaMP) -Mr. Thierry Faure (LISC) Stage effectué à l'opgc (Observatoire de Physique du Globe de Clermont-Ferrand) LaMP (Laboratoire de Météorologie Physique) LISC (Laboratoire d'ingénierie pour les Systèmes Complexes) Du 06 Avril au 31 Juillet 2010 Année Scolaire 2009/2010 1

2 Remerciements Je tiens à remercier tout particulièrement et à témoigner ma reconnaissance aux personnes suivantes qui ont su m'accueillir chaleureusement au sein du laboratoire LaMP et dont l'aide m'a été précieuse tout au long du stage. Monsieur Fréderic Szczap et Monsieur Thierry Faure, pour la confiance qu'ils m'ont accordée dès mon arrivée au sein du laboratoire. Mes remerciements vont également à tout le personnel du laboratoire pour leur accueil, leur bonne humeur quotidienne et leur capacité de travail en équipe exemplaire. Année Scolaire 2009/2010 2

3 TABLES DE MATIERES INTRODUCTION...7 PARTIE I PRESENTATION DE L ORGANISME Observatoire de Physique du Globe de Clermont-Ferrand ''OPGC''.9 2 Laboratoire de Météorologie Physique ''LAMP''...10 PARTIE II - DESCRIPTION DES TECHNOLOGIES UTILISÉES Langage C Processeur graphique Définition Critères de choix en faveur du GPU Architecture Evolution de la puissance de calcul CUDA : une nouvelle architecture pour la programmation sur carte graphique Introduction à CUDA Les abstractions clés de CUDA La hiérarchie des Threads La mémoire partagée La barrière de synchronisation Programmation avec CUDA Runtime API Mode émulation Méthode de MC «Monte Carlo»...19 PARTIE III PRÉSENTATION DE L'EXISTANT Présentation générale de MCX Historique Objectif Description détaillée du code source de MCX Organisation du code MCX La structure de l algorithme MC 25 PARTIE IV L ETUDE Présentation du transfert radiatif dans un nuage plan-parallèle homogène Modèle du nuage plan- parallèle homogène Le rayonnement La Nature de l'interaction nuage/rayonnement Les modifications apportées au code MCX Propriétés optiques Direction initiale du photon Position initiale du photon Les conditions limites Les conditions cycliques Calcul des énergies La réflectance, la transmittance et l'absorptance...36 Année Scolaire 2009/2010 3

4 3 Résultats et analyse Erreur statistique sur les flux radiatifs Analyse des résultats du MCXRT(Monte Carlo extreme Radiatif Transfer Comparaison des résultats de MCXRT, MCLaMP et 3DMCPOL Réflectance Transmittance Absorptance Conclusion Temps d exécution Le code MCFortran Comparaison des propriétés radiatives de MCFortran2, MCLaMP et MCXRT Analyse des résultats de MCFortran Temps d exécution Le problème de la taille du nuage 55 CONCLUSION ET PERSPECTIVES...56 REFERENCES BIBLIOGRAPHIQUES...58 ANNEXE...59 A Rapport d'installation Installation de la bibliothèque CUDA Installation du logiciel MCX «Monte Carlo extreme»...60 B Le logiciel MCX L'exécution Le lancement de la simulation Les paramètres d'exécution La configuration Le fichier binaire...62 C Modifications apportées au code MCX 63 1 Programme MCXRT Le fichier MCXRT_utilis.c Le fichier MCXRT_utilis.h Le fichier logistic_rand.cu Le fichier MCXRT_core.cu.73 2 Exécution du programme MCXRT La démarche d exécution Le fichier d entrée Résultat d exécution 88 Année Scolaire 2009/2010 4

5 Liste des figures Figure 1: Architecture de CPU...12 Figure 2: Architecture de GPU...12 Figure 3: Évolution des puissances de calcul de CPU et de GPU...13 Figure 4: Exemple de la hiérarchie de groupe de threads...14 Figure 5: Hiérarchie de la mémoire dans le GPU...15 Figure 6: Les différentes composantes de CUDA...16 Figure 7 : Diagramme de l algorithme de Monte Carlo dans le code MCX.25 Figure 8 : Nuage plan-parallèle homogène Figure 9 : Exemple de l interaction nuage/rayonnement.30 Figure 10 : Présentation de l angle zénithal et azimuthal..32 Figure 11 : Exemple des photons réfléchis et transmis par le nuage..33 Figure 12.1 : La variation des flux radiatifs normalisés pour w0 = Figure 12.2 : La variation des flux radiatifs normalisés pour w0 = Figure 12.3 : La variation des flux radiatifs normalisés pour w0 = Figure 13.1 : Comparaison de la réflectance pour MCXRT, MCLaMP et 3DMCPOL.40 Figure 13.2 : Trois graphes représentant l erreur simple de R-MCXRT 41 Figure 14.1 : Comparaison de la transmittance pour MCXRT, MCLaMP et 3DMCPOL..42 Figure 14.2 : Trois graphes représentant l erreur simple de T-MCXRT.43 Figure 15.1 : Comparaison de l absorptance pour MCXRT, MCLaMP et 3DMCPOL 44 Figure 15.2 : Deux graphes représentant l erreur simple de A-MCXRT...45 Figure 16 : Illustration du temps d exécution de MCXRT et MCLaMP.47 Figure 17 : Evolution du gain de temps d exécution de MCXRT..47 Figure 18.1 : Comparaison de la réflectance pour MCFortran2, MCLaMP et MCXRT.48 Figure 18.2 : Trois graphes représentant l erreur simple de R-MCFortran2..48 Figure 19.1 :Comparaison de la transmittance pour MCFortran2,MCLaMP et MCXRT.50 Figure 19.2 : Trois graphes représentant l erreur simple de T-MCFortran2 51 Figure 20.1 :Comparaison de l absorptance pour MCFortran2,MCLaMP et MCXRT 52 Figure 20.2 : Deux graphes représentant l erreur simple de A-MCFortran2..52 Figure 21 : Illustration du temps d exécution de MCXRT et MCFortran2 54 Figure 22 : Evolution du gain de temps d exécution de MCFortran2.54 Figure 23 : comparaison de la réflectance d un nuage de taille 600*600*600 et un autre de taille 60*60* Liste des définitions Définition 1 : Thread...13 Définition 2 : DRAM...16 Définition 3 : API...16 Définition 4 : NVCC...17 Définition 5 : Chaîne de Markov...20 Définition 6 : Fluence 22 Définition 7 : Indice de réfraction..22 Définition 8 : Anisotropie...22 Définition 9 : Mesernne Twister.23 Année Scolaire 2009/2010 5

6 Liste des tableaux Tableau 1 : Récapitulatif des caractéristiques des mémoires..16 Tableau 2 : Les valeurs de l erreur statistique de MC sur la réflectance 41 Tableau 3 : L erreur statistique de MC sur la transmittance 43 Tableau 4 : L erreur statistique de MC sur l absorptance..45 Tableau 5 : L erreur statistique de MC sur la réflectance pour le code de MCFortran2 53 Tableau 6 : L erreur statistique de MC sur la transmittance pour le code de MCFortran Tableau 7 : L erreur statistique de MC sur l absorptance pour le code de MCFortran2 53 Année Scolaire 2009/2010 6

7 INTRODUCTION Dans le cadre de ma première année de Master Statistiques et Traitement de Données «STD», j'ai eu l'opportunité d'effectuer un stage de 4 mois «du 6 Avril au 31 Juillet» à l'observatoire de Physique du Globe de Clermont-Ferrand (OPGC), plus précisément au sein du Laboratoire de Météorologie Physique (LaMP). LaMP est une composante de l'opgc spécialisée dans la recherche atmosphérique. Ces principales études portent sur l'impact des aérosols et des nuages sur le climat. Les nuages recouvrent à peu prés 70% de la surface du globe. Ils jouent un rôle important dans la régulation du climat, c'est la raison pour laquelle l'évolution de la couverture nuageuse ainsi que ses propriétés radiatives sont très étudiées. Les nuages participent à l augmentation ou à la diminution du réchauffement climatique, à travers deux effets antagonistes: * l'effet de serre: les nuages piègent le rayonnement thermique émis par la terre et tendent ainsi à réchauffer l'atmosphère. * l'effet d'albédo: les nuages réfléchissent le rayonnement solaire vers l'espace et contribuent ainsi au refroidissement atmosphérique. Pour mieux comprendre le rôle des nuages dans le contexte du réchauffement climatique à l échelle globale. Il faut donc étudier les interactions entre les nuages et le rayonnement solaire et thermique, cela revient en particulier à calculer les propriétés radiatives des nuages. Afin de comprendre l'impact des nuages sur l'environnement, on a donc besoin de simuler le transfert radiatif dans les nuages atmosphériques. Les nuages présentent des formes géométriques complexes et des propriétés optiques spatiales différentes selon leur nature, c est la raison pour laquelle il est difficile de calculer leurs propriétés radiatives. Pour cela, on a recours à des méthodes statistiques de type Monte Carlo (MC) qui demandent beaucoup de ressources informatiques. Ces méthodes de calcul ne sont pas encore opérationnelles dans les applications nécessaires à l étude des nuages (analyse d image satellite, calcul du réchauffement dans les modèles climatiques). Pour contourner cette difficulté, les scientifiques idéalisent les nuages en utilisant le modèle du nuage plan-parallèle homogène. Le travail qui m a été demandé consiste à développer un programme informatique dont l'objectif est de simuler le transfert radiatif en trois dimensions dans les nuages atmosphériques à l'aide d'un processeur graphique ''GPU'', et de le valider dans le cas du nuage plan-parallèle homogène. Le code source de l'application s'appuiera sur celui du logiciel Monte Carlo extreme ''MCX'' [1]. Ce dernier est basé sur l'approche statistique des méthodes de simulation de Monte Carlo, ainsi que sur la technologie de programmation CUDA. Année Scolaire 2009/2010 7

8 Les différentes missions qui m ont été assignées sont d étudier les technologies proposées par mes tuteurs de stage, d analyser le code existant de MCX, de développer un programme qui simule le transfert radiatif en 3D dans un nuage atmosphérique planparallèle homogène, et enfin d analyser les résultats obtenus à partir de cette simulation. Dans la première partie de mon rapport, je vous présenterai les organismes OPGC et LaMP. La deuxième partie sera consacrée à la description des technologies et de la méthode de simulation, qui seront utilisées durant le stage. Ensuite, nous étudierons le logiciel MCX ainsi que son code source en troisième partie. Dans la dernière partie, je montrerai les différentes modifications effectuées sur le code source de MCX, puis les étapes de l'avancement des travaux de la simulation du transfert radiatif en 3D dans un nuage plan-parallèle homogène, et enfin l'analyse sur les résultats obtenus suite à cette simulation. Année Scolaire 2009/2010 8

9 PARTIE I DESCRIPTION DE L ORGANISME 1. Organisme Du 6 Avril au 31 juillet 2010, le laboratoire de météorologie physique «LaMP» de l observatoire de physique du globe de Clermont-Ferrand «OPGC» m'a accueilli sous la tutelle de Frédéric Szczap et Thierry Faure. 1.1 Observatoire de Physique du Globe de Clermont-Ferrand ''OPGC'' L'observatoire de Physique du Globe de Clermont-Ferrand (OPGC) est un Observatoire des Sciences de l Univers (OSU), et l héritier direct de l Observatoire Météorologique du Puy de Dôme, fondé en 1871 par le professeur Emile Alluard. La configuration actuelle de l OPGC date de Il s acquitte des quatre missions essentielles des OSU : * Il fournit à la communauté nationale et internationale des travaux liés à ses activités de recherche. * Il contribue au progrès de la connaissance de la Terre par l'acquisition et l'archivage de données d'observation et il contribue aux tâches de surveillance et de prévision des phénomènes naturels. * Il contribue dans le cadre de l Université Blaise Pascal de Clermont-Ferrand à la formation des étudiants et des personnels de recherche. * Il concourt à la diffusion des connaissances, en particulier auprès des personnels enseignants et des usagers du service public. L'OPGC est une fédération de deux laboratoires: * Le Laboratoire de Météorologie Physique «LaMP» * Le Laboratoire Magmas et Volcans «LMV» Année Scolaire 2009/2010 9

10 1.2 Laboratoire de Météorologie Physique ''LaMP'' LaMP est une composante de l'opgc spécialisée dans l'atmosphère. Sa problématique principale concerne l étude du rôle des aérosols et des nuages dans l évolution du climat et celle de la composition chimique stratosphérique. La recherche du Laboratoire de Météorologie Physique est fédérée autour de 4 thèmes principaux: * Observations et instrumentations * Pollution: Aérosols et nuages de la troposphère * Cycle de vie des nuages étendus et aérosols * Nuages précipitants Ces recherches dans le domaine atmosphérique nécessitent des moyens techniques importants, comme des avions et des satellites ainsi qu'un traitement informatique particulièrement développé. L'importance des moyens mis en jeu impose de nombreuses collaborations extérieures, aussi bien nationales qu internationales. La simulation fait partie des technologies clés éminemment transverses. Aussi, le laboratoire de météorologie physique développe des programmes de simulation pour étudier l'impact climatique de la couverture nuageuse et de l'interaction nuagesrayonnement, interaction troposphère-stratosphère et chimie humide de l'atmosphèreaérosols. Année Scolaire 2009/

11 PARTIE II DESCRIPTION DES TECHNOLOGIES ET MÉTHODES UTILISEES 1. Langage C Le langage C est un langage de programmation impératif conçu pour la programmation système, c'est à dire une programmation qui vise au développement des programmes qui font partie du système d'exploitation d un ordinateur ou qui en réalisent les fonctions. J'ai décidé de développer en C pour plusieurs raisons. La première raison est que ce langage permet au développeur de s'intéresser non pas au traitement des données, mais aux interfaces, aux protocoles et à la gestion des ressources, telles que le temps et l espace en mémoire. Puis la seconde raison est que le code existant étant programmé en C, il était donc préférable d'utiliser le même langage de programmation afin de faciliter l'adaptation de ce code à mes besoins. 2. Processeur graphique Cette partie consiste à présenter le GPU et à justifier le choix d exploiter la mémoire de ce dernier dans les calculs nécessaires à la simulation. 2.1 Définitions * CPU est une unité centrale de traitement, optimisée pour exécuter le plus rapidement possible des calculs très variés. Pour cela, le CPU nécessite des structures de contrôle sophistiquées. * GPU est destiné à effectuer des opérations d affichage et de manipulation de données graphiques. Dans le but d'exploiter pleinement les performances de ce dernier, la compagnie Nvidia a créé des GPU dédiés spécialement à des calculs de haut débit afin d'alléger le travail du CPU. Année Scolaire 2009/

12 2.2 Critères de choix en faveur du GPU Architecture Figure 1 : Architecture de CPU Le processeur CPU est composé d un ensemble d unités arithmétiques et logiques «ALU» dédiées pour effectuer des calculs arithmétiques et des tests, d une mémoire cache pour alléger l accès à la mémoire centrale et accélérer les calculs effectués par les ALUs. Il possède aussi une unité de contrôle pour gérer la synchronisation entre chaque composante du CPU. Figure 2 : Architecture de GPU Dans la figure ci-dessus, l'architecture du GPU est représentée sous la forme de 128 ALUs devisés en 8 partitions, chacune de ces partitions possède une mémoire cache et une unité de contrôle indépendante des autres partitions. Pour conclure, le GPU conserve une proportion énorme de son architecture pour les calculs, ce qui rend le GPU plus performant dans le cas de calculs massifs face au CPU. Année Scolaire 2009/

13 2.2.2 Évolution de la puissance de calcul A partir de 2003 la puissance de calcul des GPUs a commencé à surpasser celle des CPUs grâce à l'exploitation des processeurs graphiques dans les calculs intensifs de haut niveau, ce qui a déclenché une évolution exponentielle des GPU représentée par le graphe ci-dessous. 3 CUDA: Une nouvelle architecture pour la programmation sur carte graphique Dans cette partie, nous allons présenter l'architecture et la programmation CUDA, afin de prendre connaissance de ses fonctionnalités. 3.1 Introduction à CUDA En 2007 la compagnie NVIDIA a réalisé CUDA «Compute Unified Device Architecture», un modèle de programmation parallèle qui manipule de façon transparente la puissance d une carte graphique composée de plusieurs multiprocesseurs (à partir de GeForce 8800). Ce modèle de programmation supporte différents langages de programmation tels que C, fortran et C++. Cette technologie prend en charge trois abstractions clés qui sont : la hiérarchie de groupes de threads (1) les mémoires partagées la barrière de synchronisation (1)Thread : Un thread est une tâche similaire à un processus, ce dernier peut contenir un ou plusieurs threads. D'un point de vue de l'utilisateur, ces exécutions semblent se dérouler en parallèles. A la différence des processus, les threads partagent le même espace mémoire. Année Scolaire 2009/

14 Ces trois critères permettent de gérer le parallélisme offert par la carte graphique. Ils donnent la possibilité de découper le problème en sous problèmes qui peuvent être résolus de manière indépendante, parallèle et surtout la plus fine possible. Les trois abstractions sont accessibles à travers de nouvelles extensions ajoutées au langage de programmation C. L'exécution d'un programme CUDA peut alors se faire sur un certain nombre de processeurs différents, sans tenir compte de l architecture de la carte graphique. 3.2 Les abstractions clés de CUDA Dans ce chapitre je vais vous expliquer les abstractions clés de CUDA, évoquées précédemment La hiérarchie des groupes de threads Pour comprendre le parallélisme offert par CUDA, une présentation de la hiérarchie des groupes de threads s'impose. Le kernel est une fonction qui spécifie une portion de code à exécuter par tous les threads en parallèle sur le device (ici GPU). L host (ici le CPU) ordonne au GPU d effectuer les calculs. Année Scolaire 2009/

15 Comme illustré dans la figure précédente, chaque thread est contenu dans un bloc de threads par des coordonnées bidimensionnelles ou tridimensionnelles. Chaque bloc est caractérisé par un vecteur bidimensionnel et appartient à une grille. A partir de ces trois éléments «thread, bloc, grille», nous pouvons distinguer deux niveaux de regroupement de threads: * Niveau préemptif: l'ordre d'exécution des blocs est indéterminé, chaque bloc est exécuté indépendamment des autres blocs contenus dans la grille. * Niveau coopératif: tous les blocs ont le même nombre de threads (Ex: 512 blocs pour une carte Tesla C1060). Dans le cas de notre étude, nous avons choisi le niveau coopératif car il permet d'une part d'échanger des données entre les threads et d'autre part, de synchroniser les threads du même bloc. Après avoir étudié la hiérarchie des threads, je vais dorénavant vous présenter la deuxième abstraction clé de CUDA La mémoire partagée Après la hiérarchie des threads, une question se pose à propos de CUDA : Comment se partage la mémoire entre les threads? Pour répondre à cette question je vais vous présenter la deuxième abstraction clé de CUDA, ensuite je vous parlerai des différentes mémoires accessibles par les threads. Comme illustré dans la figure suivante, chaque bloc de threads contient sa propre zone mémoire appelée shared memory ''mémoire partagée''. Cette dernière est présente sur le chipset. Cette mémoire est accessible uniquement par les threads du même bloc en lecture et en écriture. Chaque thread possède en local une mémoire ''local memory'' qui est réservée automatiquement aux structures de grandes tailles ou de tailles inconnues. Figure 5 : Hiérarchie de la mémoire dans le GPU Année Scolaire 2009/

16 De plus, les threads ont accès également à la mémoire globale, la mémoire constante et à la mémoire texture. Mémoire Localisation Cachée Accès Portée Globale DRAM (2) NON Lecture/Écriture Les Threads+Hôte Constante DRAM OUI Écriture Les Threads+Hôte Texture DRAM OUI Écriture Les Threads+Hôte Tableau1: Récapitulatif des caractéristiques des mémoires La barrière de synchronisation Dans la librairie CUDA, il existe plusieurs fonctions permettant de mettre en place des barrières de synchronisation pour la gestion des threads. Le principe de la barrière de synchronisation est simple : chaque thread qui arrivera sur cette barrière devra attendre jusqu'à ce que tous les autres threads soient arrivés à cette barrière. La fonction CudaThreadsSynchronize () est l'une des fonctions de synchronisation qui permet de synchroniser l'ensemble des threads d'une grille. 3.3 Programmation avec CUDA Dans cette partie, nous nous intéressons à la programmation parallèle offerte par CUDA. Pour commencer, je vais vous présenter les composantes de CUDA, ensuite nous allons étudier les trois niveaux de programmation proposés par ce dernier et ses APIs (3). Le graphe ci-dessous représente les trois modules qui forment CUDA. (2) DRAM ''Dynamic Random Access Memory'': est la mémoire informatique dans laquelle un ordinateur place les données lors de leur traitement. (3) API ''Application Programming Interface'': est une interface de programmation qui possède un ensemble de fonctions, procédures ou classes mises à disposition des programmes par une bibliothèque ou un système d'exploitation. Année Scolaire 2009/

17 Après avoir pris connaissance des composantes de CUDA, nous allons maintenant nous intéresser aux trois niveaux de programmation de CUDA: * 1 er niveau: Utilisation d'une librairie externe : Ce niveau utilise des fonctions prédéfinies dans des librairies qui servent de liaison entre le programme et le GPU, comme CUBLAS et CUFFT. Ces librairies fournissent un ensemble d outils pour réaliser des calculs d algèbre linéaire sur le GPU ou calculer la transformée de Fourrier. A ce niveau, le programmeur ne peut utiliser que certaines fonctions prédéfinies, et il ne peut pas contrôler directement le GPU. * 2 ème niveau: Utilisation de l'api CUDA Driver bas niveau : L'API CUDA Driver offre un meilleur niveau de contrôle de GPU lors de la programmation. Elle offre l'avantage de pouvoir charger des portions de code en tant que fichiers assemblages -code ptx- ou binaires -fichier cubin- qui sont générés par le compilateur NVCC (3). En contrepartie, cette API rend la programmation plus contraignante puisque cette dernière est difficile à déboguer et nécessite beaucoup plus de ligne de code à écrire pour exprimer la même chose qu avec l API CUDA de 3 ème niveau. * 3 ème niveau: Utilisation de l'api CUDA Runtime haut niveau Cette interface a été créée après l API CUDA Driver. Chaque appel à une fonction du runtime est décomposé en instructions plus basiques gérées par l API Driver. L'API Runtime est considérée de haut niveau, car elle offre des fonctions plus pratiques pour l'initialisation et la gestion du contexte. Par la suite, seules les fonctions appartenant à l'api Runtime seront présentées. En effet, l algorithme choisi pour effectuer la simulation tout en optimisant le temps d'exécution s'appuie sur l API Runtime. Le choix s est porté naturellement vers cette API pour sa prise en main plus facile à partir du langage C. De plus, la compréhension de l algorithme par des personnes n ayant jamais manipulé CUDA sera plus aisée. (3)NVCC: le compilateur fournit par NVIDIA spécialement pour CUDA. Année Scolaire 2009/

18 3.4 Runtime API Le Runtime CUDA joue le rôle d'intermédiaire entre le développeur et le driver qui facilite le développement en masquant certains détails. Comme nous l'avons mentionné précédemment, cette API contient quelques extensions au langage C. Pour ne pas rentrer dans les détails concernant ces extensions, seules les principales fonctions vont être présentées. Certaines fonctions permettent d'accéder aux propriétés des cartes graphiques installées sur l'ordinateur. Le programme suivant permet de récupérer les caractéristiques telles que : la taille de la mémoire globale, la taille de la mémoire partagée, le nombre maximal de thread par bloc... et cela pour chaque carte graphique. int devicecount; cudagetdevicecount(&devicecount); int device; for (device = 0; device < devicecount; ++device) cudadeviceprop deviceprop; cudagetdeviceproperties(&deviceprop,device); A partir de ce code, on récupère le nombre total des GPUs existant sur la machine à l aide de la fonction cudagetdevicecount(). Ensuite, on affiche les propriétés avec la fonction cudagetdeviceproperties () pour chacunes des cartes graphiques sélectionnées. Cette API possède aussi la fonction cudasetdevice() qui permet de choisir le GPU à relier avec le CPU, et sur lequel nous allons exécuter les kernels. Concernant la mémoire du GPU, elle est manipulée et gérée à l'aide des fonctions suivantes: - cudamalloc (): alloue la mémoire - cudafree (): libère la mémoire - cudamemcpy (): copie la mémoire La fonction cudamemcpy () permet de copier la mémoire du CPU vers le GPU à l aide du paramètre cudamemcpyhosttodevice et réciproquement avec cudamemcpydevicetohost. Année Scolaire 2009/

19 3.5 Mode émulation L architecture CUDA ne possède pas de débogueur. Le mode émulation permet donc de déboguer un programme CUDA pour résoudre certains problèmes de programmation. En effet, l option de compilation -deviceemu force la compilation du code sur le CPU pour pouvoir déboguer le programme. L option deviceemu peut être utilisé directement lors de l exécution du programme, comme dans l exemple suivant : nvcc -deviceemu -o run prog.cu, ou en précisant l option dans un fichier makefile : CUUOPT=-deviceemu. L utilisation de ce mode permet d utiliser les moyens habituels pour déboguer un programme. De plus, toutes les variables sont stockées dans la mémoire du CPU. De ce fait, il est possible d afficher les résultats et les erreurs de calcul du programme. Pour lancer une application CUDA en mode émulation, il faut d abord vérifier les paramètres suivants : - Le CPU doit être capable de faire tourner jusqu au nombre maximum de threads par bloc défini dans un fichier de configuration. - Le CPU doit posséder suffisamment de ressources mémoires pour chaque thread, c'est-à-dire 256 KB par thread. 4 Méthode de Monte Carlo ''MC'' La méthode de MC est une approche statistique dédiée aux simulations des systèmes complexes dans différents domaines comme le domaine mathématique, statistique ou physique. Cette méthode est fondée sur la répétition aléatoire d'échantillonnage pour résoudre des problèmes basés sur des calculs comme des problèmes de type numérique (calcul des intégrales) ou de nature probabiliste (calcul des risques), selon les trois caractéristiques suivantes: 1. Générateur de nombre aléatoire uniformément distribué entre 0 et Simulation de valeurs aléatoires avec des fonctions de distribution plus complexes à partir de (1). 3. Calculs de quantités à partir de plusieurs réalisations indépendantes de (2) Année Scolaire 2009/

20 L étude du transfert radiatif dans un nuage consiste à étudier la propagation du photon tout au long de son trajet jusqu à ce qu il soit absorbé ou sorti du milieu. Pour cela, on considère cette propagation comme une chaîne de Markov (5) de collision d un photon dans un milieu. Le photon va être diffusé ou absorbé selon les propriétés du milieu. On a décidé de mettre en place la méthode Monte Carlo car d une part, le code existant MCX utilise cette méthode et d autre part, cette dernière permet donc de simuler cette chaîne de Markov en estimant statistiquement les propriétés désirées. (5) Chaîne de Markov: est un processus aléatoire (stochastique) [X(t),t>0] portant sur un nombre fini ou comptable d états, la distribution de X(t n) ne dépend que de X((t n-1), de manière simplifiée, la prédiction du futur, sachant le présent, n'est pas rendue plus précise par des éléments d'information supplémentaires concernant le passé. Année Scolaire 2009/

21 PARTIE III - PRÉSENTATION DE L'EXISTANT 1 Présentation générale de MCX MCX (Monte Carlo extreme) est un logiciel développé par le docteur Qianqian Fang au laboratoire PMI «The Photon Migration Imaging», spécialisé dans le domaine de l'imagerie biomédicale et plus particulièrement, dans l'exploration des nouvelles études du cerveau et de la poitrine de façon non invasive et sans utiliser des nuisibles. Le PMI travaille à développer la technologie d'imagerie optique, ainsi que de l'appliquer à un large éventail de la science fondamentale et les études cliniques. 1.1 Historique * 21 Octobre 2009 : sortie de la 1ère version de MCX appelée ''MCX 0.2 Beta'' sous Linux pour 32 et 64 bits, et sous Windows et Mac, accompagnée d un article décrivant le travail effectué. * 22 Décembre 2009: deux mois après la sortie de la 1ère version, la dernière version ''MCX 0.2 Final'' sort accompagnée des fichiers binaires ainsi que le code source du logiciel. 1.2 Objectif Le logiciel Monte Carlo extreme ''MCX'' est destiné à l'industrie de la santé, particulièrement à l'imagerie médicale dont l objectif principal est d'offrir une meilleure compréhension de la manière dont fonctionne le cerveau. De plus, il permet d'ouvrir de nouvelles perspectives de recherche et de servir de base à d éventuelles évolutions pour l'amélioration du dépistage et la détection d'une variété de pathologies. La vocation principale de MCX est la modélisation de la propagation des photons dans des milieux complexes en 3D (exemple: le cerveau). En profitant de la puissance de la carte graphique pour les calculs, ce logiciel permet donc d'exécuter un code de simulation basé sur la méthode de Monte Carlo(MC) d'une vitesse typiquement 300 fois plus rapide qu une exécution sur le CPU. Année Scolaire 2009/

22 L intérêt de ce logiciel est de pouvoir étudier les caractéristiques suivantes: * milieu complexe en 3D * la réflexion dans les bords du milieu * résolution de la propagation des photons en fonction du temps * optimisation des générateurs de nombre aléatoire * calcul de la fluence (6) 2 Description détaillée du MCX Le code MCX est une application écrite en C à l'aide d'une bibliothèque spécialisée dans la programmation parallèle appelée CUDA. Cette application offre la possibilité d étudier la diffusion d'un nombre inconnu de photons, dans un milieu en trois dimensions. Ce milieu est constitué de voxels contenant ses propriétés optiques. Un voxel est un pixel en trois dimensions. Chaque voxel du milieu contient le coefficient de diffusion σs, le coefficient d absorption σa, l indice de réfraction (7) n et l anisotropie (8) donné par le paramètre d asymétrie. 2.1 Organisation du code MCX (6) Fluence : intégrale d une densité de flux de particule sur un intervalle de temps donné. (7) Indice de réfraction: le facteur de réduction de la vitesse de la lumière dans le milieu. (8) Anisotropie: est la propriété d'être dépendant de la direction, dans cette étude il caractérise l effet de structure du milieu dans la façon de dévier les photons. Année Scolaire 2009/

RAPPORT DE STAGE Calcul parallèle sur GPU

RAPPORT DE STAGE Calcul parallèle sur GPU Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE Calcul parallèle sur GPU D Aguanno Carlotta Laboratoire d accueil : INRIA Directeur du laboratoire : GROS Patrick Responsable

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

TD - Programmation CUDA

TD - Programmation CUDA TD - Programmation CUDA P. Bakowski P.Bakowski 1 Terminologie de CUDA L'hôte. est le CPU, c'est lui qui demande au périphérique (le GPU) d'effectuer les calculs. P.Bakowski 2 Terminologie de CUDA Un kernel

Plus en détail

Système. Introduction aux systèmes informatiques

Système. Introduction aux systèmes informatiques Introduction aux systèmes informatiques Système Un système est une collection organisée d'objets qui interagissent pour former un tout Objets = composants du système Des interconnexions (liens) entre les

Plus en détail

Introduction à la programmation // sur GPUs en CUDA et Python

Introduction à la programmation // sur GPUs en CUDA et Python Introduction à la programmation // sur GPUs en CUDA et Python Denis Robilliard Équipe CAMOME: C. Fonlupt, V. Marion-Poty, A. Boumaza LISIC ULCO Univ Lille Nord de France BP 719, F-62228 Calais Cedex, France

Plus en détail

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,...

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,... Rappels, SISD, SIMD Calculateurs hybrides (GPU-OpenCL) Rappels... SISD,... SIMD Formation d Ingénieurs de l Institut Galiléee MACS 3 Philippe d Anfray Philippe.d-Anfray@cea.fr CEA DSM 2013-2014 SISD :

Plus en détail

UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008. 3- Algorithmique...1 3.1 Définition : algorithmique...1. Critère algorithmique élémentaire

UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008. 3- Algorithmique...1 3.1 Définition : algorithmique...1. Critère algorithmique élémentaire UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008 Table des matières 3- Algorithmique...1 3.1 Définition : algorithmique...1 Critère algorithmique élémentaire...1 3.2 De l algorithme au programme...2

Plus en détail

ANNEXE 1 BTS AGENCEMENT DE L'ENVIRONNEMENT ARCHITECTURAL Programme de mathématiques

ANNEXE 1 BTS AGENCEMENT DE L'ENVIRONNEMENT ARCHITECTURAL Programme de mathématiques ANNEXE BTS AGENCEMENT DE L'ENVIRONNEMENT ARCHITECTURAL Programme de mathématiques L'enseignement des mathématiques dans les sections de techniciens supérieurs Agencement de l'environnement architectural

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Chapitre 1 Architecture des calculateurs 1.1 Introduction Ce paragraphe n a pas la prétention de présenter un cours d informatique. D une manière générale, seuls les caractéristiques architecturales qui

Plus en détail

Chapitre 18 : Transmettre et stocker de l information

Chapitre 18 : Transmettre et stocker de l information Chapitre 18 : Transmettre et stocker de l information Connaissances et compétences : - Identifier les éléments d une chaîne de transmission d informations. - Recueillir et exploiter des informations concernant

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Analyse et programmation 1

Analyse et programmation 1 Analyse et programmation Aperçu du fonctionnement de l ordinateur Fonctionnement de l ordinateur Codage de l information Bus d échange d information CPU Exécution d un programme par la CPU Gestion des

Plus en détail

Description du module GENERATEUR rev.2 1. Rôle du module

Description du module GENERATEUR rev.2 1. Rôle du module Description du module GENERATEUR rev.2 1. Rôle du module Ce module doit implémenter un générateur de «points aléatoires» selon une répartition de densité donnée. Tout d abord, le générateur doit être initialisé

Plus en détail

TUTORAT UE 3 2015-2016 Biophysique CORRECTION Séance n 3 Semaine du 28/09/2015

TUTORAT UE 3 2015-2016 Biophysique CORRECTION Séance n 3 Semaine du 28/09/2015 TUTORAT UE 3 2015-2016 Biophysique CORRECTION Séance n 3 Semaine du 28/09/2015 Optique 2 Mariano-Goulart QCM n 1 : A, C A. Vrai. Hz.m -1.s => B. Faux.. C. Vrai. L'équation donnée montre que l onde électrique

Plus en détail

Le climat. Fonctionnement de la machine climatique. Le forcage du soleil La réponse de l'atmosphère et de l'océan

Le climat. Fonctionnement de la machine climatique. Le forcage du soleil La réponse de l'atmosphère et de l'océan Le climat Fonctionnement de la machine climatique Le forcage du soleil La réponse de l'atmosphère et de l'océan L'évolution du climat L'effet anthropique sur l'évolution du climat L'évolution du climat

Plus en détail

Bilan thermique du chauffe-eau solaire

Bilan thermique du chauffe-eau solaire Introduction La modélisation des phénomènes de transfert dans un chauffe-eau solaire à circulation naturelle reste un phénomène difficile et complexe pour simplifier le problème. Le chauffeeau est divisé

Plus en détail

L'apport de la physique au diagnostic médical

L'apport de la physique au diagnostic médical L'apport de la physique au diagnostic médical L'application des découvertes de la physique à l'exploration du corps humain fournit aux médecins des informations essentielles pour leurs diagnostics. Ils

Plus en détail

Guide de l informatique Fichiers et dossiers

Guide de l informatique Fichiers et dossiers Guide de l informatique Fichiers et dossiers Pour mieux comprendre le fonctionnement d'un PC, il est indispensable de bien cerner les notions de fichiers et de dossiers. A dire vrai, l'ensemble des données

Plus en détail

Intégration d'un joystick dans le logiciel Perfly SGI

Intégration d'un joystick dans le logiciel Perfly SGI Intégration d'un joystick dans le logiciel Perfly SGI 1) Le joystick 1.1) Description C'est le modèle Flybox, de base, de la société BG SYSTEMS INC. Ce joystick possède 3 axes, 2 manettes, 2 boutons «classiques»

Plus en détail

Pourquoi le rayonnement en météorologie?

Pourquoi le rayonnement en météorologie? Rayonnement Atmosphérique: Equation du Transfert Radiatif: modèles simplifiés 1 Pourquoi le rayonnement en météorologie? C est la seule source d énergie du système Terre-Atmosphère L atmosphère ne consomme

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Lentilles Détermination de distances focales

Lentilles Détermination de distances focales Lentilles Détermination de distances focales Résumé Les lentilles sont capables de faire converger ou diverger un faisceau lumineux. La distance focale f d une lentille caractérise cette convergence ou

Plus en détail

Environnement de programmation

Environnement de programmation Environnement de programmation 1.La programmation Les ordinateurs sont stupides! à un point dont on n'a pas idée. Ils ne réagissent ni ne répondent qu'à des situations ou à des données anticipées par le

Plus en détail

Les systèmes d exploitation

Les systèmes d exploitation Définitions Les systèmes d exploitation Version LJV #090915 septembre 2009 Le système d'exploitation: (anglais operating system, en abrégé OS) ensemble des programmes nécessaires et indispensables au fonctionnement

Plus en détail

Positionnement de UP

Positionnement de UP UNIFIED PROCESS Positionnement de UP Unified Process Langage Méthode Outil logiciel UML UP RUP 6 BONNES PRATIQUES développement itératif gestion des exigences architecture basée sur des composants modélisation

Plus en détail

Equation LIDAR : exp 2 Equation RADAR :

Equation LIDAR : exp 2 Equation RADAR : Contexte scientifique Systèmes LIDAR/RADAR Equation LIDAR : exp Equation RADAR : p (r) : puissance rétrodiffusée r : altitude ou profondeur. C : constante instrumentale. β : coefficient de rétrodiffusion

Plus en détail

Projet : Recherche de source d onde gravitationnelle (analyse de données Metropolis Hastings Markov Chain) 1

Projet : Recherche de source d onde gravitationnelle (analyse de données Metropolis Hastings Markov Chain) 1 Université Paris Diderot Physique L2 2014-2015 Simulations Numériques SN4 Projet : Recherche de source d onde gravitationnelle (analyse de données Metropolis Hastings Markov Chain) 1 Objectifs : Simuler

Plus en détail

BE de programmation OpenMP

BE de programmation OpenMP BE-OpenMP Page 1 of 2 Calcul parallèle et distribué, et Grilles de calculs Cours de 3ème année IIC à Supélec BE de programmation OpenMP Objectifs du Bureau d'etude : (parallélisation en mémoire partagée)

Plus en détail

LES NOUVEAUX PROGRAMMES DE

LES NOUVEAUX PROGRAMMES DE LES NOUVEAUX PROGRAMMES DE MATHÉMATIQUES EN STS M A T H S S T S Animation académique Taverny lundi 24 mars 2014 et Savigny sur Orge vendredi 28 mars 2014 PREMIERS REPÈRES Les programmes de STS ont été

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Constructeur bois Document professeur

Constructeur bois Document professeur Constructeur bois Document professeur STI2D Mathématiques SVT Physique Chimie Seconde Première Terminale Quelles approches dans les disciplines scientifiques et technologiques? Compétences scientifiques

Plus en détail

Introduction à l Informatique

Introduction à l Informatique Introduction à l Informatique. Généralités : Etymologiquement, le mot informatique veut dire «traitement d information». Ceci signifie que l ordinateur n est capable de fonctionner que s il y a apport

Plus en détail

Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU

Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU Moulay Akhloufi, MScA, MBA (moulay.akhloufi@crvi.ca ) Gilles Champagne (gilles.champagne@crvi.ca) Mario Jr Laframboise

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème.

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème. Mathématiques - classe de 1ère des séries STI2D et STL. 1. Analyse On dote les élèves d outils mathématiques permettant de traiter des problèmes relevant de la modélisation de phénomènes continus ou discrets.

Plus en détail

Cours IFT6266, Exemple d application: Data-Mining

Cours IFT6266, Exemple d application: Data-Mining Cours IFT6266, Exemple d application: Data-Mining Voici un exemple du processus d application des algorithmes d apprentissage statistique dans un contexte d affaire, qu on appelle aussi data-mining. 1.

Plus en détail

Animateurs de la formation

Animateurs de la formation FNEBTP / CSNER F O R M A T I O N 2 0 1 1 : I N S T A L L A T I O N & M A I N T E N A C E D E S S Y S T È M E S P V Animateurs de la formation Rachid El Mokni Ingénieur rachid@khadamet.net Néji AMAIMIA

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

L énergie solaire DOSSIER RESSOURCE

L énergie solaire DOSSIER RESSOURCE DOSSIER RESSOURCE SOMMAIRE 1. Pourquoi les énergies renouvelables?... 3 2. L'énergie solaire... 4 3. Principe de fonctionnement du panneau solaire... 5 4. Pourquoi orienter les panneaux solaires?... 6-2

Plus en détail

APPEL A PROJETS 2007 DE LA VILLE DE PARIS PROGRAMME DE RECHERCHE SUR PARIS. Projet EPICEA

APPEL A PROJETS 2007 DE LA VILLE DE PARIS PROGRAMME DE RECHERCHE SUR PARIS. Projet EPICEA APPEL A PROJETS 2007 DE LA VILLE DE PARIS PROGRAMME DE RECHERCHE SUR PARIS Projet EPICEA Etude Pluridisciplinaire des Impacts du Changement climatique à l Echelle de l Agglomération parisienne Rapport

Plus en détail

Master Lumière et Mesures Extrêmes Signal et Bruits : travaux pratiques. Détection par effet mirage Mesures photothermiques

Master Lumière et Mesures Extrêmes Signal et Bruits : travaux pratiques. Détection par effet mirage Mesures photothermiques 1 Master Lumière et Mesures Extrêmes Signal et Bruits : travaux pratiques 1 Introduction Détection par effet mirage Mesures photothermiques La méthode de détection par effet mirage fait partie de méthodes

Plus en détail

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu d échec valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

Plus en détail

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard IFT630 Processus concurrents et parallélisme Projet final Rapport Présenté à Gabriel Girard par Alexandre Tremblay (06 805 200) Pierre-François Laquerre (05 729 544) 15 avril 2008 Introduction Après plusieurs

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

Plus en détail

LE RAYONNEMENT SOLAIRE ET LES PLANÈTES

LE RAYONNEMENT SOLAIRE ET LES PLANÈTES THÈME : Planète Terre et son environnement Niveau : seconde LE RAYONNEMENT SOLAIRE ET LES PLANÈTES EXTRAIT DU BO: La Terre est une planète du système solaire L'énergie solaire reçue par les planètes varie

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

LA GESTION DE FICHIERS

LA GESTION DE FICHIERS CHAPITRE 6 : LA GESTION DE FICHIERS Objectifs spécifiques Connaître la notion de fichier, ses caractéristiques Connaître la notion de répertoires et partitions Connaître les différentes stratégies d allocation

Plus en détail

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION PARALLELES SOUS WINDOWS I. PREPARATION DE L ENVIRONNEMENT Tous d abord il va vous falloir télécharger quelques logiciels afin de pouvoir commencer à

Plus en détail

Logiciel Version. Liste des updates. (mai 2013) DIRECTION GÉNÉRALE OPÉRATIONNELLE

Logiciel Version. Liste des updates. (mai 2013) DIRECTION GÉNÉRALE OPÉRATIONNELLE Logiciel PEB Version 4.0.2 (mai 2013) DIRECTION GÉNÉRALE OPÉRATIONNELLE DE L AMÉNAGEMENT DU TERRITOIRE, DU LOGEMENT, DU PATRIMOINE ET DE L ÉNERGIE Département de l'énergie et du Bâtiment durable Direction

Plus en détail

OPTIQUE. 1. Loi de la réflexion. Un rayon lumineux incident sur une surface transparente, se comporte comme illustré ci-dessous: rayon incident

OPTIQUE. 1. Loi de la réflexion. Un rayon lumineux incident sur une surface transparente, se comporte comme illustré ci-dessous: rayon incident OPTIQUE Un rayon lumineux incident sur une surface transparente, se comporte comme illustré ci-dessous: rayon incident AIR rayon réfléchi EAU rayon réfracté A l'interface entre les deux milieux, une partie

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Générateur de Nombres Aléatoires

Générateur de Nombres Aléatoires Générateur de Nombres Aléatoires Les générateurs de nombres aléatoires sont des dispositifs capables de produire une séquence de nombres dont on ne peut pas tirer facilement des propriétés déterministes.

Plus en détail

QCM systèmes d exploitation (Quarante questions)

QCM systèmes d exploitation (Quarante questions) QCM systèmes d exploitation (Quarante questions) QUIZZ OS N 1 (10 questions avec réponses) Question 1: Aux origines de l informatique, l'interface utilisateur des systèmes d exploitations était composée

Plus en détail

AUTONOMIE VÉHICULE ÉLECTRIQUE

AUTONOMIE VÉHICULE ÉLECTRIQUE Sciences et Technologies de l Industrie et du Développement Durable VÉHICULE TAMIYA TT01 1 ère STI2D CI5 : Efficacité énergétique active TP3 EE AUTONOMIE VÉHICULE ÉLECTRIQUE INSTRUCTIONS PERMANENTES DE

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

Défaillances précoces

Défaillances précoces Dossier Technique Dossier Technique Fiabilité des micro-onduleurs Enphase Récapitulatif L'actuelle génération des micro-onduleurs onduleurs Enphase a un temps moyen entre défaillances (Mean Time Between

Plus en détail

G.P. DNS02 Septembre 2012. Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

G.P. DNS02 Septembre 2012. Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction DNS Sujet Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3 Réfraction I. Préliminaires 1. Rappeler la valeur et l'unité de la perméabilité magnétique du vide µ 0. Donner

Plus en détail

Introduction à Scilab

Introduction à Scilab Introduction à Scilab Nicolas Kielbasiewicz 21 juin 2007 Scilab est un logiciel gratuit développé à l INRIA (l Institut National de Recherche en Informatique et Automatique) sous Windows, Linux et Mac,

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

LUMIERE BLANCHE - LUMIERE MONOCHROMATIQUE

LUMIERE BLANCHE - LUMIERE MONOCHROMATIQUE LUMIERE BLANCHE - LUMIERE MONOCHROMATIQUE I LE PHENOMENE DE DISPERSION 1 Expérience 2 Observation La lumière émise par la source traverse le prisme, on observe sur l'écran le spectre de la lumière blanche.

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Manuel didactique LOGICIEL PEB

Manuel didactique LOGICIEL PEB Manuel didactique LOGICIEL PEB Mise à jour de la version 3.5 Juillet 2012 PAGE 1 SUR 10 Logiciel PEB: Mise à jour version 3.5-26/06/2012 Contenu 1. Introduction... 3 2. Evaluation des exigences... 3 3.

Plus en détail

Gestion d une flotte de robots Configuration et ordre de missions

Gestion d une flotte de robots Configuration et ordre de missions Document Rapport Version Version 1.0 Date 25/03/2008 Auteur Ahmed RADOUA M1 SET Gestion d une flotte de robots Configuration et ordre de missions INSSET UPJV 1 ième année de MASTER Spécialité : (Année

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2014-2015 (1ere session) durée 3h Tous documents et calculatrices autorisés. Répondez aux questions sur une copie séparée Le sujet comporte 8 pages

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Théorie des Systèmes d'exploitation : Introduction

Théorie des Systèmes d'exploitation : Introduction Théorie des Systèmes d'exploitation : Introduction Quelques systèmes d'exploitation... 3 Architecture des ordinateurs... 4 Schéma simplifié :... 4 Les concepts des systèmes d'exploitation... 5 Les 2 principales

Plus en détail

Elma m l a ki i Haj a a j r a Alla a Tao a uf u i f q B ur u kkad a i i Sal a ma m n a e n e Be B n e a n b a d b en e b n i b i Il I ham

Elma m l a ki i Haj a a j r a Alla a Tao a uf u i f q B ur u kkad a i i Sal a ma m n a e n e Be B n e a n b a d b en e b n i b i Il I ham Exposé: la technique de simulation MONTE-CARLO Présenté par : Elmalki Hajar Bourkkadi Salmane Alla Taoufiq Benabdenbi Ilham Encadré par : Prof. Mohamed El Merouani Le plan Introduction Définition Approche

Plus en détail

5/ Fonctionnement du laser

5/ Fonctionnement du laser 5/ Fonctionnement du laser La longueur d onde du laser est de 532 nanomètres (532x10-9 m) soit dans le vert. Le choix de cette longueur d onde n est pas fait au hasard car la matière va interagir avec

Plus en détail

1 Présentation générale

1 Présentation générale Parcours «Management des processus de production de biens et services» du Master de Sciences de Gestion (M2) - mention «Management Global» de l Université Paris Dauphine 1 Présentation générale 1.1 Objectifs

Plus en détail

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES Aristote ----- Cloud Interopérabilité Retour d'expérience L A F O R C E D E L I N N O V A T I O N Résumé Les systèmes d'information logistique (SIL) sont des outils qui amènent des gains de productivité

Plus en détail

Page 1 2 La présente invention concerne le domaine des architectures informatiques, et en particulier un procédé pour le développement d applications destiné à un fonctionnement en réseau, par exemple

Plus en détail

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Interface PC Vivago Ultra. Pro. Guide d'utilisation Interface PC Vivago Ultra Pro Guide d'utilisation Version 1.03 Configuration de l'interface PC Vivago Ultra Configuration requise Avant d'installer Vivago Ultra sur votre ordinateur assurez-vous que celui-ci

Plus en détail

Optique : applications Introduction

Optique : applications Introduction Optique : applications Introduction I. Introduction Au premier semestre nous avons abordés l'optique géométrique, nous avons vu les lois de Snell Descartes qui décrivent comment la lumière est réfléchie

Plus en détail

PHYSIQUE Discipline fondamentale

PHYSIQUE Discipline fondamentale Examen suisse de maturité Directives 2003-2006 DS.11 Physique DF PHYSIQUE Discipline fondamentale Par l'étude de la physique en discipline fondamentale, le candidat comprend des phénomènes naturels et

Plus en détail

Exercices de simulation 1

Exercices de simulation 1 Licence MIA 2ème année Année universitaire 2009-2010 Simulation stochastique C. Léonard Exercices de simulation 1 Les simulations qui suivent sont à effectuer avec Scilab. Le générateur aléatoire de Scilab.

Plus en détail

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre : Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant

Plus en détail

Synthèse OBJECTIF DE L ÉTUDE

Synthèse OBJECTIF DE L ÉTUDE "Bilan énergétique et des émissions de gaz à effet de serre tout au long du cycle de vie du gaz naturel et du mazout comme combustible pour le chauffage domestique" Synthèse I.1. OBJECTIF DE L ÉTUDE Il

Plus en détail

Soutien illimité 7j/7 en maths: Coach, profs, exercices & annales, cours. Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban

Soutien illimité 7j/7 en maths: Coach, profs, exercices & annales, cours. Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban EXERCICE 1 : 4 Points Cet exercice est un questionnaire à choix multiples. Aucune justification n est demandée. Pour chacune des questions, une

Plus en détail

Ce document a été mis en ligne par le Canopé de l académie de Bordeaux pour la Base Nationale des Sujets d Examens de l enseignement professionnel.

Ce document a été mis en ligne par le Canopé de l académie de Bordeaux pour la Base Nationale des Sujets d Examens de l enseignement professionnel. Ce document a été mis en ligne par le Canopé de l académie de Bordeaux pour la Base Nationale des Sujets d Examens de l enseignement professionnel. Ce fichier numérique ne peut être reproduit, représenté,

Plus en détail

- 1 - Expérience no 21 ELEMENTS D OPTIQUE 1. INTRODUCTION

- 1 - Expérience no 21 ELEMENTS D OPTIQUE 1. INTRODUCTION - 1 - Expérience no 21 1. INTRODUCTION ELEMENTS D OPTIQUE Dans cette expérience les principes de l optique géométrique sont applicables car les obstacles traversés par la lumière sont beaucoup plus grands

Plus en détail

Les systèmes de Fichier

Les systèmes de Fichier Les systèmes de Fichier 1 Les disques durs, aussi petits soient-ils, contiennent des millions de bits, il faut donc organiser les données afin de pouvoir localiser les informations, c'est le but du système

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

Matériel & Logiciels (Hardware & Software)

Matériel & Logiciels (Hardware & Software) CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

Solveur linéaire sur GPU

Solveur linéaire sur GPU Thomas JOST 1 Sylvain CONTASSOT-VIVIER 1,2 Stéphane VIALLE 1,3 1 Équipe AlGorille, LORIA 2 Université Henri Poincaré Nancy 1 3 Équipe IMS Supélec (Metz) 1 Introduction 2 Contraintes et algorithmes Structure

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Architecture des GPU et principes de base de CUDA

Architecture des GPU et principes de base de CUDA M2 Informatique/SSSR - ALA Architecture des GPU et principes de base de CUDA Stéphane Vialle Stephane.Vialle@centralesupelec.fr http://www.metz.supelec.fr/~vialle Architecture des GPU et principes de base

Plus en détail

Leica Application Suite

Leica Application Suite Leica Application Suite Macro Editor et Macro Runner (Éditeur de macros et Exécuteur de macros) Personnalisées et automatisées 2 Les instructions peuvent être momentanément suspendues» de manière optionnelle

Plus en détail

Simulation Monte-Carlo sur GPU application en physique médicale

Simulation Monte-Carlo sur GPU application en physique médicale Simulation Monte-Carlo sur GPU application en physique médicale école d été GPU, 1 er Juillet 2011 Gipsa Lab Julien Bert Laboratoire du Traitement de l Information Médicale LaTIM - INSERM U650 CHU Brest,

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

Université du Québec à Rimouski Liste des cours avec le code EQE Département de mathématiques, d'informatique et de génie

Université du Québec à Rimouski Liste des cours avec le code EQE Département de mathématiques, d'informatique et de génie Liste des cours avec le code EQE Département de mathématiques, d'informatique et de génie Sigle de cours Titre cours Code EQE 6DIG973 Sujets spéciaux 6DIG974 Caractérisation des matériaux 6DIG975 Nanotechnologies

Plus en détail

Comment peut-on bloquer les réflexions de la lumière sur la surface de l eau pour mieux voir ce qu il y a sur le fond de la mer?

Comment peut-on bloquer les réflexions de la lumière sur la surface de l eau pour mieux voir ce qu il y a sur le fond de la mer? Comment peut-on bloquer les réflexions de la lumière sur la surface de l eau pour mieux voir ce qu il y a sur le fond de la mer? www.digital-photography-tips.net/stay_focussed-newsletter-march-2013.html

Plus en détail

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide de configuration de SQL Server pour BusinessObjects Planning Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets

Plus en détail

Codage MPEG-4 de dessins animés

Codage MPEG-4 de dessins animés Codage MPEG-4 de dessins animés Jean-Claude Moissinac Cyril Concolato Jean-Claude Dufourd Ecole Nationale Supérieure des Télécommunications 46 rue Barrault 75013 Paris cyril.concolato@enst.fr, dufourd@enst.fr,

Plus en détail

TP Physique n 1. Spécialité TS. I. Généralités sur les lentilles minces: Convention:

TP Physique n 1. Spécialité TS. I. Généralités sur les lentilles minces: Convention: TP Physique n 1 Spécialité TS Convention: Dans cet exposé, la lumière est supposée se déplacer de la gauche vers la droite. I. Généralités sur les lentilles minces: Une lentille est un milieu transparent

Plus en détail

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

SIGNAUX PERIODIQUES (activités de découvertes et acquis du collège)

SIGNAUX PERIODIQUES (activités de découvertes et acquis du collège) Thème SANTE SIGNAUX PERIODIQUES (activités de découvertes et acquis du collège) Acquis du collège : une tension alternative périodique (comme celle du secteur) est une tension qui se répète à l'identique

Plus en détail