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/

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

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

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

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

Comprendre l Univers grâce aux messages de la lumière

Comprendre l Univers grâce aux messages de la lumière Seconde / P4 Comprendre l Univers grâce aux messages de la lumière 1/ EXPLORATION DE L UNIVERS Dans notre environnement quotidien, les dimensions, les distances sont à l échelle humaine : quelques mètres,

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

EXERCICE 2 : SUIVI CINETIQUE D UNE TRANSFORMATION PAR SPECTROPHOTOMETRIE (6 points)

EXERCICE 2 : SUIVI CINETIQUE D UNE TRANSFORMATION PAR SPECTROPHOTOMETRIE (6 points) BAC S 2011 LIBAN http://labolycee.org EXERCICE 2 : SUIVI CINETIQUE D UNE TRANSFORMATION PAR SPECTROPHOTOMETRIE (6 points) Les parties A et B sont indépendantes. A : Étude du fonctionnement d un spectrophotomètre

Plus en détail

Pourquoi étudier l aérosol atmosphérique?

Pourquoi étudier l aérosol atmosphérique? Pourquoi étudier l aérosol atmosphérique? Impact Climatique Impact sanitaire Les particules atmosphériques sont avant tout étudiées pour leurs impacts sur le climat et sur la santé humaine. 39 Réchauffement

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

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

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

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Introduction à CUDA. gael.guennebaud@inria.fr

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

Plus en détail

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

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

Module HVAC - fonctionnalités

Module HVAC - fonctionnalités Module HVAC - fonctionnalités Modèle de radiation : DO = Discrete Ordinates On peut considérer l échauffement de solides semi transparents causé par le rayonnement absorbé par le solide. On peut également

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

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

- I - Fonctionnement d'un détecteur γ de scintillation

- I - Fonctionnement d'un détecteur γ de scintillation U t i l i s a t i o n d u n s c i n t i l l a t e u r N a I M e s u r e d e c o e ffi c i e n t s d a t t é n u a t i o n Objectifs : Le but de ce TP est d étudier les performances d un scintillateur pour

Plus en détail

TPE : La voiture solaire. Présentation de Matthys Frédéric, Soraya Himour et Sandra Thorez.

TPE : La voiture solaire. Présentation de Matthys Frédéric, Soraya Himour et Sandra Thorez. TPE : La voiture solaire Présentation de Matthys Frédéric, Soraya Himour et Sandra Thorez. Sommaire :.1) Le capteur solaire :.2) La voiture solaire :.3) Variation de température et la vitesse : Problématique

Plus en détail

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

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

Plus en détail

TD1 PROPAGATION DANS UN MILIEU PRESENTANT UN GRADIENT D'INDICE

TD1 PROPAGATION DANS UN MILIEU PRESENTANT UN GRADIENT D'INDICE TD1 PROPAGATION DANS UN MILIEU PRESENTANT UN GRADIENT D'INDICE Exercice en classe EXERCICE 1 : La fibre à gradient d indice On considère la propagation d une onde électromagnétique dans un milieu diélectrique

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

Éclairage naturel L5C 2009/2010. Aurore BONNET

Éclairage naturel L5C 2009/2010. Aurore BONNET Éclairage naturel L5C 2009/2010 Aurore BONNET Introduction : Les 2 aspects de l éclairage naturel : Introduction : Les 2 aspects de l éclairage naturel : l ensoleillement et l éclairage diffus L ENSOLEILLEMENT

Plus en détail

L ' E N V I R O N N E M E N T À T R A V E R S L A S I M U L A T I O N N U M É R I Q U E : D E L ' I N G É N I E R I E D U B Â T I M E N T

L ' E N V I R O N N E M E N T À T R A V E R S L A S I M U L A T I O N N U M É R I Q U E : D E L ' I N G É N I E R I E D U B Â T I M E N T L ' E N V I R O N N E M E N T À T R A V E R S L A S I M U L A T I O N N U M É R I Q U E : U N E N O U V E L L E P R A T I Q U E D E L ' I N G É N I E R I E D U B Â T I M E N T Pour les bâtiments et à l'échelle

Plus en détail

Sillage Météo. Notion de sillage

Sillage Météo. Notion de sillage Sillage Météo Les représentations météorologiques sous forme d animation satellites image par image sont intéressantes. Il est dommage que les données ainsi visualisées ne soient pas utilisées pour une

Plus en détail

Calcul multi GPU et optimisation combinatoire

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

Plus en détail

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

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

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

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

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

Etude statistique et signatures angulaires caractéristiques de nuages hétérogènes observés à partir de POLDER/PARASOL

Etude statistique et signatures angulaires caractéristiques de nuages hétérogènes observés à partir de POLDER/PARASOL UNIVERSITÉ DES SCIENCES ET TECHNOLOGIES DE LILLE 1 RAPPORT DE STAGE DE WACHEUX LUCILE Etude statistique et signatures angulaires caractéristiques de nuages hétérogènes observés à partir de POLDER/PARASOL

Plus en détail

Logiciel EV3 LEGO MINDSTORMS Education

Logiciel EV3 LEGO MINDSTORMS Education Robot éducateur : LEGO Education a le plaisir de vous présenter Robot éducateur, une sélection d'activités pédagogiques vous permettant de prendre en main votre EV3 LEGO MINDSTORMS Education de façon structurée

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Rayonnements dans l univers

Rayonnements dans l univers Terminale S Rayonnements dans l univers Notions et contenu Rayonnements dans l Univers Absorption de rayonnements par l atmosphère terrestre. Etude de documents Compétences exigibles Extraire et exploiter

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Réunion de lancement du projet LEFE DEPHY2

Réunion de lancement du projet LEFE DEPHY2 Réunion de lancement du projet LEFE DEPHY2 Développement et Evaluation des PHYsiques des modèles atmosphériques BILAN 45 participants 25 CNRM, 12 LMD, 4 LGGE, 2LA, 1 LSCE, 1 GET 8-9-10 septembre 2014 Observatoire

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

Complément d information concernant la fiche de concordance

Complément d information concernant la fiche de concordance Sommaire SAMEDI 0 DÉCEMBRE 20 Vous trouverez dans ce dossier les documents correspondants à ce que nous allons travailler aujourd hui : La fiche de concordance pour le DAEU ; Page 2 Un rappel de cours

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique DUT Informatique, orientation Imagerie Numérique Domaine : Sciences, Technologies, Santé Mention : Informatique Organisation : Institut Universitaire de Technologie Lieu de formation : Le Puy en Velay

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

Baccalauréat technologique

Baccalauréat technologique Baccalauréat technologique Épreuve relative aux enseignements technologiques transversaux, épreuve de projet en enseignement spécifique à la spécialité et épreuve d'enseignement technologique en langue

Plus en détail

Table des matières. Table des matières

Table des matières. Table des matières Table des matières Table des matières Table des matières... 2 A propos de ce guide... 3 Assistance et information de contact... 4 Chapitre 1 Présentation du portail de Monitoring SolarEdge... 5 Chapitre

Plus en détail

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

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

Chapitre 02. La lumière des étoiles. Exercices :

Chapitre 02. La lumière des étoiles. Exercices : Chapitre 02 La lumière des étoiles. I- Lumière monochromatique et lumière polychromatique. )- Expérience de Newton (642 727). 2)- Expérience avec la lumière émise par un Laser. 3)- Radiation et longueur

Plus en détail

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI , portage de code Promes dans le cadre de l appel à projets CAPS-GENCI PROMES (UPR 8521 CNRS) Université de Perpignan France 29 juin 2011 1 Contexte 2 3 4 Sommaire Contexte 1 Contexte 2 3 4 Laboratoire

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

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

Chapitre 6 La lumière des étoiles Physique

Chapitre 6 La lumière des étoiles Physique Chapitre 6 La lumière des étoiles Physique Introduction : On ne peut ni aller sur les étoiles, ni envoyer directement des sondes pour les analyser, en revanche on les voit, ce qui signifie qu'on reçoit

Plus en détail

Séquence 9. Étudiez le chapitre 11 de physique des «Notions fondamentales» : Physique : Dispersion de la lumière

Séquence 9. Étudiez le chapitre 11 de physique des «Notions fondamentales» : Physique : Dispersion de la lumière Séquence 9 Consignes de travail Étudiez le chapitre 11 de physique des «Notions fondamentales» : Physique : Dispersion de la lumière Travaillez les cours d application de physique. Travaillez les exercices

Plus en détail

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

PRINCIPE MICROSCOPIE CONFOCALE

PRINCIPE MICROSCOPIE CONFOCALE PRINCIPE MICROSCOPIE CONFOCALE Un microscope confocal est un système pour lequel l'illumination et la détection sont limités à un même volume de taille réduite (1). L'image confocale (ou coupe optique)

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

Mesures et incertitudes

Mesures et incertitudes En physique et en chimie, toute grandeur, mesurée ou calculée, est entachée d erreur, ce qui ne l empêche pas d être exploitée pour prendre des décisions. Aujourd hui, la notion d erreur a son vocabulaire

Plus en détail

Simulation d'un examen anthropomorphique en imagerie TEMP à l iode 131 par simulation Monte Carlo GATE

Simulation d'un examen anthropomorphique en imagerie TEMP à l iode 131 par simulation Monte Carlo GATE Simulation d'un examen anthropomorphique en imagerie TEMP à l iode 131 par simulation Monte Carlo GATE LAURENT Rémy laurent@clermont.in2p3.fr http://clrpcsv.in2p3.fr Journées des LARD Septembre 2007 M2R

Plus en détail

Stockage de chaleur solaire par sorption : Analyse et contrôle du système à partir de sa simulation dynamique

Stockage de chaleur solaire par sorption : Analyse et contrôle du système à partir de sa simulation dynamique Stockage de chaleur solaire par sorption : Analyse et contrôle du système à partir de sa simulation dynamique Kokouvi Edem N TSOUKPOE 1, Nolwenn LE PIERRÈS 1*, Lingai LUO 1 1 LOCIE, CNRS FRE3220-Université

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Livre blanc Mesure des performances sous Windows Embedded Standard 7 Livre blanc Mesure des performances sous Windows Embedded Standard 7 Table des matières Résumé... 1 Introduction... 1 Utilisation de la boîte à outils Windows Performance Analysis... 2 Fonctionnement...

Plus en détail

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL Au niveau du second degré, l'économie et gestion recouvre un ensemble de champs disciplinaires relevant de l'économie, du droit, des sciences de

Plus en détail

- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE

- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE - MANIP 2 - - COÏNCIDENCES ET MESURES DE TEMPS - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE L objectif de cette manipulation est d effectuer une mesure de la vitesse de la lumière sur une «base

Plus en détail

Activité 1 : Rayonnements et absorption par l'atmosphère - Correction

Activité 1 : Rayonnements et absorption par l'atmosphère - Correction Activité 1 : Rayonnements et absorption par l'atmosphère - Correction Objectifs : Extraire et exploiter des informations sur l'absorption des rayonnements par l'atmosphère terrestre. Connaitre des sources

Plus en détail

Module 0 : Présentation de Windows 2000

Module 0 : Présentation de Windows 2000 Module 0 : Présentation de Table des matières Vue d'ensemble Systèmes d'exploitation Implémentation de la gestion de réseau dans 1 Vue d'ensemble Donner une vue d'ensemble des sujets et des objectifs de

Plus en détail

SUIVI CINETIQUE PAR SPECTROPHOTOMETRIE (CORRECTION)

SUIVI CINETIQUE PAR SPECTROPHOTOMETRIE (CORRECTION) Terminale S CHIMIE TP n 2b (correction) 1 SUIVI CINETIQUE PAR SPECTROPHOTOMETRIE (CORRECTION) Objectifs : Déterminer l évolution de la vitesse de réaction par une méthode physique. Relier l absorbance

Plus en détail

www.boutiquesolaire.com

www.boutiquesolaire.com INFORMATIONS SUR LES PRODUITS 03 / 2013 POWERBANKS CHARGEURS SOLAIRES Powerbanks Chargeurs solaires Cellules solaires pour Powerbanks CELLULES SOLAIRES POUR POWERBANKS www.boutiquesolaire.com CONTENU Powerbanks

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D, E, F (voir pages suivantes).

2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D, E, F (voir pages suivantes). SUJET DE CONCOURS Sujet Exploitation d une documentation scientifique sur le thème de l énergie 2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D,

Plus en détail

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

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

Plus en détail

Perrothon Sandrine UV Visible. Spectrophotométrie d'absorption moléculaire Étude et dosage de la vitamine B 6

Perrothon Sandrine UV Visible. Spectrophotométrie d'absorption moléculaire Étude et dosage de la vitamine B 6 Spectrophotométrie d'absorption moléculaire Étude et dosage de la vitamine B 6 1 1.But et théorie: Le but de cette expérience est de comprendre l'intérêt de la spectrophotométrie d'absorption moléculaire

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

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

Plus en détail

A chaque couleur dans l'air correspond une longueur d'onde.

A chaque couleur dans l'air correspond une longueur d'onde. CC4 LA SPECTROPHOTOMÉTRIE I) POURQUOI UNE SUBSTANCE EST -ELLE COLORÉE? 1 ) La lumière blanche 2 ) Solutions colorées II)LE SPECTROPHOTOMÈTRE 1 ) Le spectrophotomètre 2 ) Facteurs dont dépend l'absorbance

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

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

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

Plus en détail

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280 FR9704668 PC CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES Jean GASSINO, Jean-Yves HENRY eci Rapport IPSN/Département d'évaluation de sûreté N 280 Octobre 1996 INSTITUT DE PROTECTION

Plus en détail

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

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

Plus en détail

Evaluation de la variabilité d'un système de mesure

Evaluation de la variabilité d'un système de mesure Evaluation de la variabilité d'un système de mesure Exemple 1: Diamètres des injecteurs de carburant Problème Un fabricant d'injecteurs de carburant installe un nouveau système de mesure numérique. Les

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

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

SDLV120 - Absorption d'une onde de compression dans un barreau élastique

SDLV120 - Absorption d'une onde de compression dans un barreau élastique Titre : SDLV120 - Absorption d'une onde de compression dan[...] Date : 09/11/2011 Page : 1/9 SDLV120 - Absorption d'une onde de compression dans un barreau élastique Résumé On teste les éléments paraxiaux

Plus en détail

Cours IV Mise en orbite

Cours IV Mise en orbite Introduction au vol spatial Cours IV Mise en orbite If you don t know where you re going, you ll probably end up somewhere else. Yogi Berra, NY Yankees catcher v1.2.8 by-sa Olivier Cleynen Introduction

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Les mesures à l'inclinomètre

Les mesures à l'inclinomètre NOTES TECHNIQUES Les mesures à l'inclinomètre Gérard BIGOT Secrétaire de la commission de Normalisation sols : reconnaissance et essais (CNSRE) Laboratoire régional des Ponts et Chaussées de l'est parisien

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

Propagation sur réseau statique et dynamique

Propagation sur réseau statique et dynamique Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.

Plus en détail

DIFFRACTion des ondes

DIFFRACTion des ondes DIFFRACTion des ondes I DIFFRACTION DES ONDES PAR LA CUVE À ONDES Lorsqu'une onde plane traverse un trou, elle se transforme en onde circulaire. On dit que l'onde plane est diffractée par le trou. Ce phénomène

Plus en détail

101 Adoptée : 12 mai 1981

101 Adoptée : 12 mai 1981 LIGNE DIRECTRICE DE L OCDE POUR LES ESSAIS DE PRODUITS CHIMIQUES 101 Adoptée : 12 mai 1981 «Spectres d'absorption UV-VIS» (Méthode spectrophotométrique) 1. I N T R O D U C T I O N I n f o r m a t i o n

Plus en détail

Projet de Traitement du Signal Segmentation d images SAR

Projet de Traitement du Signal Segmentation d images SAR Projet de Traitement du Signal Segmentation d images SAR Introduction En analyse d images, la segmentation est une étape essentielle, préliminaire à des traitements de haut niveau tels que la classification,

Plus en détail