Académique Documents
Professionnel Documents
Culture Documents
SPHYS B208
Luc Henrard
15 heures de cours
45 heures de TP
4 crédits
Evaluation : Codes pendant l'année +
Examen de TP (livre ouvert)
Webcampus
Agenda
Integration cours – TP
Ce cours sert-il à quelque chose ?
Computational Physics
Physique
Computational
Physics
Informatique
(Hardware / Software) Math
(Algorithmes)
Computational Physics
OU
Rm : prophétie auto-réalisatrice
Théorique
Experimental
Numérique
La Physique en 1970
Théorique
Experimental
Numérique
La Physique en 1990
Théorique
Numérique
Experimental
La Physique en 2015
Théorique
Numérique
Experimental
Optique / accoustique
● Prédiction climatique
● Metéorologie
● Cosmologie
● 'Bien' programmer est nécessaire à la fois sur les PC et les super- ordinateurs
June 2016
www.unamur.be
IBM type 704 (1954)
4 kFLOPS
''ON'
'OFF'
La physique et les performances d'un ordinateur
● Optique
● Magnetique
Batterie
Ecran
La physique et les performances d'un ordinateur
Un challenge : consommation électrique et refroidissement
Plan du cours
Partie 0 : Avant de programmer ...
2. Les procédures
6. Data fitting
7. Nombres aléatoires
8 . Optimisation de code
● Système d'exploitation
● Interprétation et compilation
Structure d'un ordinateur
Mémoire principale Mémoire
(RAM - 1/2 C) secondaire
(Disques)
Mémoire interne
Registres
Unité arithmétique
et logique
Mémoire interne
Unité arithmétique
et logique
Mémoire interne
(Registres)
Unité arithmétique
et logique
Mémoire interne
(Registres)
Unité arithmétique
et logique
Clock : 2.2 GHz
Utilisateur
Application
Programme
Software
Système d'exploitation
(OS)
Matériel
Hardware
Utilisation d'un ordinateur
Utilisateur
Application
Ensemble de fichiers Programme
Software
Matériel
Matériel physique
Hardware
Utilisation d'un ordinateur
Au delà du PC !
Utilisateur
Administrateur
Système
Application
Programme
Software Autres
Utilisateurs
Système d'exploitation
(OS)
Matériel
Matériel physique
Hardware
Plan du cours
1. Introduction et contexte
2. Avant de programmer …
● Structure d'un ordinateur
● Système d'exploitation
● Interprétation et compilation
Systèmes d'exploitation
Single – Multi-user
Single – Multi-tasking
Systèmes d'exploitation
Systèmes d'exploitation
Systèmes d'exploitation
1. Introduction et contexte
2. Avant de programmer …
● Structure d'un ordinateur
● Système d'exploitation
● Interprétation et compilation
Logiciel libre et propriétaire
● Logiciel propriétaire : logiciel dont l'utilisation, la duplication ou la modification est limitée. (licence)
● Logiciel libre est un logiciel dont l'utilisation, l'étude, la modification et la duplication en vue de sa diffusion
sont permises, techniquement et légalement, afin de garantir certaines libertés à l'utilisateur.
Ex : GNU/Linux, Libreoffice, …
Plan du cours
1. Introduction et contexte
2. Avant de programmer …
● Structure d'un ordinateur
● Système d'exploitation
● Interprétation et compilation
Qualités d'un programme
pour un physicien
KISS : Keep it simple, stupid
● Fiabilité (bon résultat pour toutes les entrées et tous les utilisateurs, stabilité,...)
Les codes sont écrits par des humains, pour des humains (pas pour l'ordinateur)
1. Introduction et contexte
2. Avant de programmer …
● Structure d'un ordinateur
● Système d'exploitation
● Interprétation et compilation
Développement d'un programme
1) Définir le problème
Quel type de problème ?
Généralité ? Limite ? Utilisateur ? Interface ?
1/2
5) Test du programme
Temps 'humain'
Organigramme
Start / Stop
Calcul
Entrée - Sortie
Choix
Développement d'un programme
Exemple : Transformer une température d'unité (Kelvin → Celcius)
Start
Entrée
(Kelvin)
Calcul
(K → C)
Output
(Celcius)
Stop
Développement d'un programme
Exemple : Transformer une température d'unité (Kelvin → Celcius)
● ...
Ecrire T
(Celcius)
Stop
Développement d'un programme
Exemple : Transformer une température de Kelvin à Celcius
Start
Calcul
(K → C)
Demander à
l'utilisateur T(K)
Ecrire
(Celcius)
Get T(K)
Ecrire
'Nouveau
calcul ?'
Non
Ecrire T(K)
Pas physique
T(K) > 0
Get 'Oui/non'
Oui
1. Introduction et contexte
2. Avant de programmer …
● Structure d'un ordinateur
● Système d'exploitation
● Interprétation et compilation
Programmation : Interprétation et compilation
3 fichiers différents
Programmation : Interprétation et compilation
program1.f90 program1.o
Fichier 'Executable'
Code Source Fichier 'objet'
Compilation Link
program.exe
program2.f90 program2.o program
Les fichiers objet '.o' ne sont pas portables d'un ordinateur à l'autre.
Les fichier excécutable '.exe' ne sont pas portable d'un OS à l'autre et
en général, peu portable d'un ordinateur à l'autre
Plan du cours
Partie 0 : Avant de programmer ...
2. Les procédures
6. Data fitting
7. Nombres aléatoires
8 . Optimisation de code