éCOLE POLYTECHNIQUE FéDéRALE DE LAUSANNE
p/a EPFL - Domaine IT - CP 121 - CH 1015 Lausanne 15 - tél. +41 21 69 322 11 - Web: http://dit.epfl.ch
Les GPU ne sont pas uniquement faits pour les consoles de jeux Francis.Lapique@epfl.ch, Domaine IT
GPU vs CPU: to be, or
promis par la technologie Cuda, un problème de taille subsiste. Les gains de not to be performances sont bien présents, mais peu de développeurs sont en mesure de La figure 1 présente un comparatif, l’exploiter pleinement. en performance par Watt, entre Nvidia Sur ce dernier point, l’année deret Intel qui s’affrontent par déclarations nière un cours pour les architectures interposées quant à l’avenir respectif du multi-core sur la base de la bibliothèGPU et du CPU. que Intel Threading Building Blocks Nvidia a ainsi récemment dé(TBB) était annoncé en posant la claré que les processeurs n’avaient plus question: que va-t-on en tirer au niaucun avenir et qu’ils seraient très veau applicatif? Je dois avouer que les prochainement supplantés par les puces résultats peu encourageants, de mon graphiques! point de vue, avec des double ou quadri Intel, répond en déclarant que cœurs m’ont décidé à reporter ce cours. Cuda ne sera qu’une intéressante note Je ne sais pas si Cuda ne sera qu’une inde bas de page dans les annales de téressante note de bas de page dans les l’histoire informatique et d’expliquer annales de l’histoire informatique, mais que malgré les gains exceptionnels aujourd’hui, nous Computational Efficiency: GPU vs. CPU (Source: heise.de, tomshardware.com. wikipedia.org) Nvidia Consumer Graphics Card le verrons dans la Intel Desktop CPU suite de cet article, GT200(08) GTX280 cette technologie nous offre des gains G92(08) de performance G80(07) 9800 GTX 8800 Ultra 50x à 100x pour de faibles coûts de G71(06) développement en 7900 GTX terme de temps et NV45(04) NV38(03) Kentsfield 6800 Ultra de prix. FX5950 Ultra QX9770
8 7
Computational Efficiency [GFlopsW]
6 5 4 3 2 1 0 –1
Northwood Prescott Smithfield P4HT3.4 P4570 D840 0
10
20
Yorkfield QX68500
Presler EE965
30
40
Months since January 2003
fig. 1
50
60
Bloomfield i7965XE 70
suite en page 4
Sommaire FI 2/2009 1 Cuda Francis Lapique 2 DIT-info 3 FlashiPhone François Roulet 9 Comment extraire des données depuis Internet! David Portabella & Charles Rey 12 Nokia – Students’ Call for Proposals Aurore Amaudruz 13 Spécial été 2009 – appel aux articles & concours de la meilleure nouvelle 14 Nouvelle autorité de certification Martin Ouwehand 14 Projets AAA de Switch Pierre Mellier 14 38e Workshop en HPC Vittoria Rezzonico 15 FileMaker Pro Anne-Cécile Follonier 16 Programme des cours 21 Le cluster du pauvre Martin Rentschle & Bob de Graffenried 22 Départ d’un homme réseau Jacqueline Dousson 23 Vers une informatique axiologique? René Berger
FI 2 – 24 février 2009 – page 1
DIT-info Un pionnier du Web EPFL s’en va Après 8 ans passés à l’EPFL, Pierre Crevoisier se tourne vers de nouveaux horizons. Il fait partie des pionniers du KIS, avec Elaine Mc Murray et Natalie Meystre, qui ont œuvré au développement d’outils web quotidiennement utilisés par la communauté EPFL. À commencer par l’application plan.epfl.ch, véritable fil d’Ariane virtuel pour ne pas se perdre au milieu d’un dédale bien réel. Gregory Charmier et Gregory Favre prennent vaillamment le relais. Le KIS que tu as connu n’est plus le KIS d’aujourd’hui. Comment était-ce ? En effet, le KIS de l’époque était très différent. Le service s’appelait e-pfl et avait été lancé à l’initiative du Vice-président Francis-Luc Perret. L’objectif était d’avoir une cellule au sein de l’école qui coordonne les projets Web et pose les bases d’une vision collaborative. Le défi était de mettre en commun les compétences dispersées sur le campus afin de créer des services utiles pour tous les membres de la communauté EPFL. L’application plan.epfl.ch est représentative de notre démarche. Lorsque je suis arrivé à l’EPFL, je me suis retrouvé au sein d’une petite ville sans carte. Il n’était pas facile de trouver une salle ou une personne. Nous avons donc créé cette application avec le service des bâtiments. Le projet consistait à lier un local, un numéro et une personne ou une affectation. De la même manière, dans tous les services que propose le KIS, il s’agit de lier, relier des données, de faire travailler ensemble des services. Comme par exemple le profil personnes.epfl.ch, qui utilise des éléments venant de différentes sources, dont Infoscience. Les projets que tu as menés sont nombreux, actualites.epfl.ch, les newsletters, inForm. Le plus ambitieux semble être Infoscience, qui permet de sauvegarder et de référencer les publications des laboratoires. Infoscience qui est d’ailleurs cité comme la troisième archive institutionnelle par Webometrics, après le CNRS et le MIT. Clairement. Mandat nous avait été donné de mettre en place un service qui permettrait d’archiver les publications qui sont le patrimoine de l’institution. Ceci n’aurait pu se faire sans l’arrivée de David Aymonin qui a apporté toute son expertise dans la gestion de la documentation. Nous étions
Prochaines parutions No
Délai de rédaction
Parution
3
05.03.09
24.03.09
4
30.03.09
21.04.09
5
07.05.09
26.05.09
6
04.06.09
23.06.09
SP
30.06.09
01.09.09
FI 2 – 24 février 2009 – page 2
assez pionnier dans notre démarche et nous avions assez peu d’exemples pour nous orienter, à part le CERN. Infoscience a été conçu autour de deux axes. D’une part, nous tenions à ne rien imposer aux chercheurs et les laisser libre d’adhérer parce que le produit leur conviendrait. Et, d’autre part, nous voulions fournir un service immédiatement utilisable pour les chercheurs et qui s’harmoniserait avec d’autres outils. Ainsi, une publication insérée dans Infoscience apparaîtra dans le profil personnes.epfl.ch, sur la liste des publications du labo, etc. Je quitte l’EPFL content de savoir que le cap des 50’000 publications est dépassé. Pour ceux qui souhaite suivre une partie des aventures de Pierre Crevoisier, rendez-vous sur klaxonne.com. Frédéric.Rauss@epfl.ch pour le KIS
Stagiaire à la DIT-TI Nous souhaitons une très cordiale bienvenue à Daniele Cofano qui a commencé son stage le 1er février. Il va ainsi compléter sa formation de base et se perfectionner dans le domaine du réseau pendant ces douze prochains mois au sein de l’équipe de techniciens du DIT-TI. Nous espérons qu’il profite au maximum des opportunités de ce stage pour sa future carrière dans le domaine informatique. Pascal Pétament a terminé son stage à la fin du mois de janvier. Nous formulons tous nos vœux pour son avenir et souhaitons qu’il trouve rapidement un emploi à la hauteur de ses compétences. Jacques.Virchaux@epfl.ch, Domaine IT
flash informatique Les articles ne reflètent que l’opinion de leurs auteurs. Toute reproduction, même partielle, n’est autorisée qu’avec l’accord de la rédaction et des auteurs. Abonnement à la version électronique du FI en envoyant un courrier à: fi-subscribe@
listes.epfl.ch
Rédacteur en chef: Jacqueline Dousson, fi@epfl.ch Mise en page & graphisme: Appoline Raposo de Barbosa Comité de rédaction: Aristide Boisseau, Paulo de Jesus, Patrice Fumasoli, Jean-Damien Humair, Laurent Kling, Vittoria Rezzonico, François Roulet, Christophe Salzmann, Predrag Viceic & Jacques Virchaux Impression: Atelier de Reprographie EPFL Tirage: 4000 exemplaires Adresse Web: dit.epfl.ch/FI-spip Adresse: Domaine IT EPFL CP 121, CH-1015 Lausanne 15 Téléphone: +4121 69 32246 & 32247
FlashiPhone Francois.Roulet@epfl.ch, Domaine IT
La
rapide diffusion du iPhone, commercialisé en Suisse depuis juillet 2008, a incité de nombreux fournisseurs d’information sur Internet à adapter leur offre à sa taille d’écran de 3.5" en 480x320 pixels. Si la publication de pages épurées n’est pas nouvelle (voir FI/9/00: Assistant personnel à l’EPFL – Avantgo, http://ditwww.epfl.ch/SIC/SA/SPIP/Publications/spip. php?article613) leur prolifération en revanche, semble attisée par la venue de l’iPhone. AvantGo est un ancien portail intermédiaire de re-formatage des pages Web, les adaptant à la dimension de l’écran cible. On retrouve aussi ce mécanisme sur les téléphones mobiles GSM dotés d’un navigateur Web, basé sur un interpréteur Java, avec notamment le navigateur Opera Mini. Les avantages de pages Web allégées sont nombreux: z lisibilité et navigation grandement améliorée sur petit écran, z durée et coût de téléchargement sensiblement réduits, z suppression des bandeaux publicitaires psychédéliques. Souvenons-nous de l’époque où, il y a dix ans, la page de test la plus lourde était: www.edicom.ch (une minute de chargement et affichage sur le premier iMac), mais désormais, cet honneur lui a été ravi par la page: www.20minutes.ch. En moyenne, cette dernière pèse plus de 1000 KB, alors que sa déclinaison appauvrie pour iPhone pèse moins de 50 KB ! Par comparaison, le navigateur Opera Mini, malheureusement interdit de publication sur iTunes Store par Apple en raison de la concurrence qu’il représenterait face à son propre navigateur Safari, recourt aussi à une passerelle de re-formatage, conservant intégralement les articles de la page classique, tout en réduisant son poids à moins de 200 KB, notamment en supprimant les publicités et en recomprimant les illustrations. Par conséquent, si vous naviguez au travers du réseau téléphonique cellulaire GSM (GPRS, Edge, 3G), au tarif helvétique moyen compris entre 1 et 10 CHF par méga-octet transféré, vous aurez tout intérêt à préférer ces pages dégraissées. Et cette mise en garde est encore bien plus cruciale en itinérance internationale. Vous réaliserez aussi de substantielles économies de trafic en captant les flux RSS des sites qui en proposent. La présentation dépouillée de ces flux, par leurs titres et leurs résumés, les rend extrêmement agréables à consulter.
Lors de leur lecture avec Safari sur iPhone, les flux RSS sont automatiquement interprétés par une application Web reader.mac.com/mobile. Pour terminer, voici une liste non-exhaustive et en perpétuelle expansion, des différents annuaires et horaires de transports publics, ainsi que des sites d’information régionale.
Les sites Web optimisés pour les mobiles ou les iPhones annuaires z mobile.local.ch/* z www.epfl.ch/mobile/ z mobile.unil.ch/ z iphone.pagesjaunes.fr/ horaires z mobile.sbb.ch/* z iphone.tpg.ch/ z www.easyjetiphone.ch/index-iphone.html informations z mobile.txt.ch/ z mobile.swissinfo.ch/ z www.romandie.com/iphone/ * z mobile.bluewin.ch/ z mobile.rsr.ch/ * z tsrmobile.ch/ quotidiens z mobile.lematin.ch/ z i.20min.ch/ * z mobile.lemonde.fr/ *
Plans
z map.search.ch z iphone.pagesjaunes.fr/
Flux RSS
z memento.epfl.ch/ z www.letemps.ch/rss/site/
Biomedical Imaging Group EPFL z bigwww.epfl.ch/mobile/index.html
et pour finir Vous pouvez lire aussi l’article Web mobile de nos confrères: z www.unil.ch/ci/mobile n * existe aussi en application gratuite et individuelle
FI 2 – 24 février 2009 – page 3
Les GPU ne sont pas uniquement faits pour les consoles de jeux
suite de la première page
Architecture
fig. 2 – la carte NVIDIA GeForce GTX 280 L’architecture des cartes GeForce compte un ensemble de multiprocesseurs (ou SM pour Streaming Multiprocessor) au nombre de 30 pour la carte GeForce GTX280 (voir fig. 2). Chacun de ces SM est équipé de 8 ALUs (Arithmetic Logic Unit). Une unité SIMT (Single-Instruction Multiple-Thread) prend en charge la création, l’ordonnancement et l’exécution de warps (groupe de 32 threads, le terme vient des machines à tisser, il désigne un ensemble de fils de coton). Un thread CUDA n’a pas tout à fait le même sens qu’un thread CPU, c’est un élément de base des données à traiter. A l’inverse des threads CPU, les threads CUDA sont extrêmement légers ce qui signifie qu’un changement de contexte est une opération peu coûteuse. Un warp est exécuté tous les 2 cycles; par exemple, pendant les deux premiers cycles, warp 8 exécute l’instruction 11, pendant les deux cycles suivants, wrap 1 exécute l’instruction 42. Chaque multiprocesseur peut prendre en compte 32 warps soit 1024 threads.
Modèle de programmation Au niveau programmation on ne manipule pas directement ces warps, on écrit des noyaux de programmation ou kernels. Ces kernels se subdivisent en blocs composés de warps. Chaque SM dispose d’une mémoire partagée ou Shared Memory de 16’384 bytes et de 16’384 registres de 32 bits (fig. 3). La mémoire partagée n’est pas une mémoire cache, c’est un espace ouvert à la programmation.
fig. 4 – Modèle de programmation
L’environnement de développement CUDA compte quelques extensions au langage C, des librairies, un compilateur (nvcc) et un pilote (fig. 5). Sans trop rentrer dans le détail de ces extensions on trouve des qualificateurs comme __global__ pour désigner un kernel, __device__ pour une fonction exécutée et appelée depuis le GPU, il désigne également une variable dans l’espace Global memory à savoir la DRAM du GPU (1Go pour la carte GTX280), __shared__ pour une variable Share memory. CPU
Application
CUDA Libraries CUDA Runtime CUDA Driver
Streaming Multiprocessor Instruction L1
Data L1
GPU
fig 5 – architrcture CUDA
Instruction Fetch/Dispatch Un kernel:
Shared Memory SP
SP
SP
SP
SP
SFU
SP
SP SP
fig. 3 – architecture SM FI 2 – 24 février 2009 – page 4
__global__ void Func(float* parameter)
est appelé d’une façon un peu particulière;
SFU
Func<<< Dg, Db, Ns >>>(parameter);
où Dg représente la taille de la grille en nombre de blocs, Db la taille du bloc en nombre de threads et Ns un espace mémoire optionnel dynamiquement alloué par bloc dans la mémoire partagée et entre parenthèses la liste des paramètres.
Les GPU ne sont pas uniquement faits pour les consoles de jeux Un jeu de variables intégrées ou built-in permet d’identifier un thread. La ligne de commande qui suit est un exemple de calcul d’index de thread à travers ces variables built-in:
L’espace de communication Shared memory, espace de 16 Ko, est organisé en 16 banques (fig. 7).
int idx = blockIdx.x * blockDim.x + threadIdx.x;
où blockIdx contient l’index du bloc dans la grille, threadIdx celui du thread dans le bloc et blockDim le nombre de
fig. 7
thread par bloc. La fonction __synchthreads() permet de synchroniser les threads à l’intérieur d’un bloc. Pour résumer les limitations matérielles de la carte GTX280 qui nous sont données par le programme device Query:
Total amount of global memory Number of multiprocessors Number of cores Total amount of constant memory Total amount of shared memory per block Total number of registers available per block Warp size Maximum number of threads per block Maximum sizes of each dimension of a block Maximum sizes of each dimension of a grid Maximum memory pitch
La figure 6.a présente un exemple de conflit: les thread 0 et 8 accèdent à la même case 0 de la banque. C’est quelque chose qu’il faut éviter, car dans ce cas l’accès est sérialisé avec une chute de la bande passante (fig. 6.b). En cas de nonconflit, l’accès est presque aussi rapide que les registres contrairement aux 400 cycles 1'073'479'680 bytes d’horloge de la mémoire globale. 30 240 65'536 bytes 16'384 bytes 16384 32 512 512 x 512 x 64 65'535 x 65'535 x 1 262'144 bytes
Le développement de votre application au niveau kernel (grille et bloc) ne vous affranchit pas de penser aux niveaux multiprocesseurs d’exécution de warps et au niveau ALU (Unité Arithmétique et Logique, sous-partie d’un processeur capable d’effectuer des opérations définies par un jeux d’instructions) d’identifiant de bloc et de thread. Deux points très importants qui concernent l’optimisation: le conflit de banques de la mémoire partagée et la coalescence de la mémoire globale. Vous pouvez approfondir ces deux notions dans le Programming Guide CUDA [7].
Shared memory et conflit de banques
Global memory et coalescence
La mémoire globale souffre d’une latence importante (400 à 600 cycles d’horloge pour un accès). Pour remédier à ce problème, CUDA donne la possibilité d’accéder à un bloc de plusieurs cases mémoires ou coalescence. La coalescence est réalisée au niveau du demi-wrap (un cycle d’horloge du SIMT soit 16 threads) si on accède à des régions mémoires de 32, 64 ou 128 octets. On obtient également des gains de vitesse si l’on accède à des cases mémoires voisines et dans l’ordre des indices de threads. Les figures 6a et 6c illustrent ces propos. Il existe deux types d’accès non coalescents. Le premier est dû au fait que les threads n’accèdent pas dans l’ordre à des cases voisines (fig. 6b); le second est dû à un problème d’alignement (fig. 6c). Le premier thread d’un warp doit accéder à une case mémoire multiple de 64.
fig. 6 – conflit de banques int ai = offset * (2*thid+1)-1; offset=1 Address (ai) stride is 2 resulting in 2-way bank conflicts Bank
ai thid
0
0 0
1
2 1
2
4 2
3
6 3
4
8 4
5
10 5
6
12 6
7
14 7
8
16 8
fig. 6.a
9
18 9
10
20 10
11
22 11
12
24 12
13
26 13
14
28 14
fig. 6.b-6c – coalescence
15
30 15
Une dernière remarque lorsque différents threads d’un même wrap travaillent dans deux branches différentes d’un même if, l’impact sur les performances peut être important, car le GPU est obligé d’exécuter le warp sur plusieurs cycles d’horloge. FI 2 – 24 février 2009 – page 5
Les GPU ne sont pas uniquement faits pour les consoles de jeux __global__ void sum(float* A, float *B, float* C, int width) { .... 3 exécution du noyau dans le GPU ..... unsigned int idx = threadIdx.y * width + threadIdx.x; C[idx] = A[idx] + B[idx]; } int main() { ... Allocation des vecteurs de données à traiter par le GPU .... unsigned int mem_size=10*10*sizeof(float); float *a; cudaMalloc((void**)&a, mem_size); float *b; cudaMalloc((void**)&b, mem_size); float *c; cudaMalloc((void**)&c, mem_size); float input_a[100]; // size = 10*10 float input_b[100]; float output_c[100]; ... 1- Envoi des données vers le GPU ... cudaMemcpy(a,input_a, mem_size, cudaMemcpyHostToDevice); cudaMemcpy(b,input_b, mem_size), cudaMemcpyHostToDevice); dim3 dimBlock(10, 10);
Smith-Waternam avec CUDA
Revenons à notre titre Les GPU ne sont pas uniquement faits pour les consoles de jeux. La technologie NVIDIA CUDA veut montrer au marché HPC (Calcul Haute Performance) qu’elle peut jouer un rôle important dans les années qui viennent. Il est vrai que son site présente une palette d’applications (fig. 9) qui vont bien au-delà de son métier de niche [6, 8]. Pour nous faire notre propre opinion, nous avons acquis deux cartes GTX280 et décidé de porter un algorithme de recherche heuristique utilisée en bio-informatique permettant de trouver les régions similaires entre deux ou plusieurs séquences de nucléotides ou d’acides aminés. La recherche d’alignements entre séquences génomiques est une des tâches fondamentales de la bio-informatique. L’objectif est de localiser des régions semblables dans des séquences d’ADN ou des séquences protéiques. Une application typique est l’interrogation d’une banque avec un ... 2 - demande d’exécution du noyau dans le GPU gène dont la fonction est inconnue. Les résultats ... retournés correspondent à des segments similaires sum<<<1, dimBlock>>>(A, B, C); présentant un indice de ressemblance élevé. Plus ... exactement, l’information utile est un alignement, 4 - retour du résultat vers le CPU c’est-à-dire deux portions de séquence où sont .... précisément indiqués les appariements entre cudaMemcpy(output_c, C, mem_size,cudaMemcpyDeviceToHost); ... nucléotides (pour l’ADN) ou les appariements } entre acides aminés (pour les protéines). On doit parcourir systématiquement l’encode 1 – Somme de deux vecteurs semble des banques, de la première à la dernière séquence. Il existe plusieurs algorithmes pour extraire des alignements. Les premiers, comme celui de Smith-Waterman élaboré en 1981 [1], utilisent des techniques de programmaHello World! tion dynamique et possèdent une complexité quadratique. Les seconds, apparus en 1990, comme le programme BLAST, Pour découvrir le monde CUDA voici un exemple de se basent sur une heuristique très efficace (recherche de points somme de deux vecteurs (voir code 1). Les numéros indiqués d’ancrage) permettant de cibler directement de courtes zones dans le code renvoient à ceux de la figure 8. identiques potentiellement intéressantes. Nous avons porté notre choix sur celui de Smith-Waterman qui a fait l’objet ces derniers temps de plusieurs publications concernant son implémentation sur GPU [2-5].
fig. 9 fig. 8 - CUDA processing flow – auteur: Tosaka FI 2 – 24 février 2009 – page 6
Les GPU ne sont pas uniquement faits pour les consoles de jeux
L’algorithme de Smith-Waterman L’algorithme de Smith-Waterman évalue une ressemblance locale entre deux séquences A et B de taille m et n respectivement. Les éléments de A et B sont notés a1, … am et b1, … bn. La matrice de similitude entre éléments W(ai, bj) et les pénalités d’ouverture et d’extension de gap Ginit et Gext sont également données. On calcule les n x m matrices suivantes:
H i,j =max
{
E i,j =max F i,j =max
{ {
0 E i,j F i,j H i–1,j–1 – W(a i ,b j ) E i,j–1 – H i,j–1 – F i–1,j – H i–1,j –
G ext G init G ext G init
}
} }
Vous trouverez le pseudo-code d’implémentation à al référence [2]. Une des particularités de ce code est de charger dans la mémoire de texture une matrice acides aminés -requête dite Query-profile. En partant du travail de ces deux auteurs, cet algorithme a été porté sur une machine de bureau (Intel 3.0 Ghz, cache 6MB, express Chipset. 4 GB DDR3, 2x Nvidia GTX 280, system Linux kernel 2.6.27). Vous pouvez faire des tests en-ligne depuis la page gpu. epfl.ch/sw.html. Pour lancer la requête cliquer Query, car cette page contient par défaut un jeu de paramètres de test. La règle d’attribution du service est des plus simples premier arrivé, premier servi. La base de données (Swiss-Prot) compte un peu plus de 400 mille séquences et environ 145 millions de résidus. La réponse doit parvenir au bout de quelques secondes.
La procédure qui permet de trouver l’alignement à partir de la matrice est la suivante: à partir de la cellule d’arrivée, remonter vers la(les) cellule(s) voisine(s) de score maximal; itérer pour arriver à la cellule initiale. Pour illustrer le propos, la figure 10 donne un exemple concret de la procédure de recherche locale entre deux séquences ADN avec une expression simplifiée de la matrice: H(i,j) = max{0, H(i,j-1)-a, H(i-1,j)-a, H(i-1,j-1) + W(S1i ,S2j ) }, avec a=1, W(S1i ,S2j ) =+2 si les résidus i et j sont identiques et W(S1i ,S2j )=-1 dans le cas contraire.
fig. 11 À la lumière des résultats présentés à la figure 11, évitez le mode CPU pour des requêtes plus grandes qu’une dizaine de résidus, car n’oubliez pas que vous multipliez le temps par un facteur d’environ 50.
MATLAB Les figures 12.a et 12.b donnent une idée du facteur d’accélération que l’on peut obtenir avec l’extension CUDA pour MATLAB que l’on peut obtenir depuis le site Nvidia [9]. Vous trouverez dans cette extension un script nvmex à l’image du script mex pour compiler l’application (code 2.0) fig. 10 - Example of the SmithWaterman algorithm to compute the local alignment between two DNA sequences ATCTCGTATGAT and GTCTATCAC. The matrix H(i,j) is shown for the linear gap cost a= 1, and a substitution cost of +2 if the characters are identical and –1 otherwise. From the highest score (+10 in the example), a traceback procedure delivers the corresponding alignment, the two subsequences TCGTATGA and TCTATCA
#include "cuda.h" #include "mex.h" /* Kernel to square elements of the array on the GPU */ __global__ void square_elements(float* in, float* out, int N) { int idx = blockIdx.x*blockDim.x+threadIdx.x; if (idx < N) out[idx]=in[idx]*in[idx]; } /* Gateway function */ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { /* Call function on GPU */ square_elements<<<dimGrid,dimBlock>>>(data1f_gpu, data2f_gpu, n*m); }
code 2 FI 2 – 24 février 2009 – page 7
Les GPU ne sont pas uniquement faits pour les consoles de jeux contenant du code CUDA. nvmex -f nvopts.sh square_me.cu -I/usr/local/ cuda/include -L/usr/local/cuda/lib -lcufft -Wl,-rpath,-L/usr/local/cuda/lib -L../../ common/lib/linux -lcudart -L../../common/lib/ linux -lcutil
fig. 12.a – Advection of an elliptic vortex on a 256x256 mesh, stream function (left), vorticity (right): MATLAB on Linux, 72.460358 seconds
fig. 12.b – Advection of an elliptic vortex on a 256x256 mesh, stream function (left), vorticity (right):MATLAB with CUDA on Linux, 5.873686 seconds À la conférence SC08 (voir article de Pascal Jermini et Jean-Claude Leballeur paru dans le FI1/9, ditwww.epfl.ch/ SIC/SA/SPIP/Publications/spip.php?article1684) qui a eu lieu à Austin en novembre dernier Wolfram Research a annoncé pour le premier trimestre de cette année une version CUDA accélérée pour Mathematica.
Conclusion Ce premier contact avec CUDA est des plus encourageants, nous allons entreprendre d’autres tests critiques dans le monde du 64 bits flottant. Nvidia semble actuellement avoir une avance sur ses concurrents, mais la donne peut vite changer. Si vous voulez faire connaître ou partager vos expériences GPU vous pouvez me faire parvenir un lien pour le site gpu.epfl.ch. Vous pouvez également vous inscrire à un cours de sensibilisation à la programmation CUDA sur deux jours, les 28 et 29 avril prochain.
Glossaire Core: désigne l’équivalent d’un processeur généraliste semiautonome qui partage un certain nombre de composants avec les autres cores. FI 2 – 24 février 2009 – page 8
Streaming Multiprocessor: grappe de processeurs ALU partageant une unité de contrôle et des mémoires SIMD: Single instruction Multiple Data, type de processeur vectoriel utilisant une même instruction sur plusieurs données différentes banques: désigne un segment sur une mémoire threads: élément de calcul s’exécutant sur le processeur scalaire kernel: fonctions appliquées à chaque ensemble de données nécessitant l’application du même traitement warp: groupement de 32 threads grille, blocs: le modèle de programmation considère une grille composée d’un ensemble de blocs qui exécutent simultanément des threads BLAST (acronyme de basic local alignment search tool) est un algorithme utilisé en bio-informatique permettant de trouver les régions similaires entre deux ou plusieurs séquences de nucléotides ou d’acides aminés.
Références [1] Smith TF, Waterman MS (1981). Identification of Common Molecular Subsequences. Journal of Molecular Biology 147: 195-197. doi:10.1016/0022-2836(81)90087-5. gel.ym.edu.tw/~chc/AB_papers/03.pdf. [2] Manavski SA, Valle G (2008). CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment. BMC Bioinformatics 9 (Suppl 2:S10): S10. doi:10.1186/1471-2105-9-S2-S10. www. biomedcentral.com/1471-2105/9/S2/S10. [3] Rognes T, Seeberg E (2000). Six-fold speed-up of Smith-Waterman sequence database searches using parallel processing on common microprocessors. Bioinformatics 16: 699-706. bioinformatics.oxfordjournals.org/cgi/ reprint/16/8/699.pdf. [4] Farrar M S (2008). Optimizing Smith-Waterman for the Cell Broadband Engine. farrar.michael.googlepages.com/ smith-watermanfortheibmcellbe. [5] Van Hoa NGUYEN vhnguyen@irisa.fr, Dominique LAVENIER lavenier@irisa.fr, Parallélisation de la recherche de similarités entre séquences protéiques sur GPU, Rencontres francophones du Parallélisme, Fribourg: Switzerland (2008) [6] Hervé Jourdren, Marc Pérache, Clément Koyesse. Retour d’expérience GPU cartes graphiques programmables en calcul haute performance. www-ccrt.cea.fr/fr/collaborations/fichiers/journee_thematique_110408/GPGPUhydro-110408.pdf [7] Programming Guide CUDA [8] Michael Boyer, Kevin Skadron, Westley Weimer, Automated Dynamic Analysis of CUDA Programs, www. cs.virginia.edu/~skadron/Papers/stmcs08.pdf [9] Massimiliano Fatica mfatica@nvidia.com, NVIDIA, Won-Ki Jeong wkjeong@cs.utah.edu, University of Utah. Accelerating MATLAB with CUDA, www.cs.utah. edu/~wkjeong/publication/hpec07_cuda_final.pdf n
Atelier de programmation à l'EPFL comment extraire des données depuis Internet! David.Portabella@epfl.ch & Charlesfr.Rey@epfl.ch, IC – Laboratoire de bases de données
Pourquoi a-t-on besoin d’extraire des données depuis Internet? Imaginez que des informations très intéressantes sont disponibles sur un site Internet (annuaire, résultats sportifs, horaires), mais que celui-ci ne fournit pas d’accès aux données dans un format structuré (base de données, XML, …) pour appliquer un traitement automatique. Comment faire pour extraire ces données ? C’est le cas par exemple du CIA World Factbook, qui propose gratuitement des données concernant les pays du monde entier: on peut y trouver entre autres des données démographiques ou encore sur le système de télécommunications d’un pays (combien de portables, par exemple). Les données sont sous une forme semi-structurée, sans possibilité de les importer dans une feuille Excel ou une base de données. Si ces données étaient disponibles sous une forme structurée pour l’utilisateur, on pourrait faire des requêtes pour savoir par exemple quels sont les pays dont le PIB par habitant est plus grand que $20’000 et dont le nombre total de portables est supérieur à 50 millions ?, ou alors appliquer des techniques statistiques ou de data-mining. Extraire des informations depuis des sites Web peut être utile dans les cas suivants: z obtenir des données pour des recherches scientifiques; z créer des applications intelligentes; z analyser les tendances d’un marché ou la concurrence; z marketing ciblé.
Software open-source Kraken Le Laboratoire de Bases de Données (EPFL-LBD) a créé un logiciel appelé Kraken pour extraire des informations depuis des sources semi-structurées vers un format structuré, de manière flexible et robuste. L’utilisateur assemble des composants spécialisés de manière à former un programme qui va extraire les informations intéressantes dans un format structuré. Des outils qui réalisent déjà un but similaire existent, mais ils ont soit des limitations importantes, ou il n’est pas possible (ou du moins très difficile) de les étendre pour accomplir de nouvelles fonctions. On citera par exemple Dapper, WebHarvest, OpenKapow ou encore Yahoo Pipes. Certains proposent une interface graphique très facile à utiliser, au détriment des fonctionnalités. L’outil développé au LBD a été conçu pour des développeurs, avec des possibilités d’extension et une puissance inégalée. Le temps nécessaire à la construction d’un extracteur
pour site Web est grandement réduit, et il y a beaucoup moins de post-processing à faire une fois les données récoltées. Voici un exemple de séquence d’instructions pour l’extraction: 1. télécharger un document d’après une URL, 2. récupérer le noeud qui correspond à l’expression XPath //div[@id='unitPrice'], 3. capturer un groupe de chiffres avec une expression régulière '([0-9]+) Euros', 4. et finalement, convertir la chaîne de caractères en un nombre entier. Il est également possible d’effectuer des boucles, pour par exemple télécharger plusieurs pages jusqu’à ce qu’un lien du type Prochaine page n’existe plus, et effectuer un traitement sur les pages récupérées. Définir des séquences d’instructions pour l’extraction de données et les combiner peut être fait facilement dans notre framework. Ainsi, l’extraction de données telles qu’un catalogue de produits (leshop.ch) ou la liste des jeux de gamespot. com est faire de manière aisée et flexible. Le logiciel permet de détecter des irrégularités dans les données (changement de layout, par exemple), et dans ce cas le développeur en est informé et peut effectuer les changements nécessaires. Actuellement Kraken est implémenté en Java, mais il est tout à fait possible d’imaginer d’autres langages de programmation (développement en cours).
Caractéristiques de Kraken z Puissance d’expression pour les instructions d’extraction; z extraction de champs, listes et tables; z extraction et transformation de champs simples tels que des chaînes de caractères, des nombres, emails, numéro de téléphone, URL, images; z extraction de champs structurés, par exemple une adresse postale structurée en termes de rue, localité et NPA; z sources de données pour l’extraction: HTML, XML, texte, PDF, etc.; z navigation sur plusieurs pages Web (des centaines, milliers ou millions!); z possibilité de remplir des champs d’entrée sur un site Web de façon automatique; z supporte les cookies, l’authentification simple ou le SSL; z exécution distribuée et parallèle (bientôt disponible), itérations en séquence ou aléatoires; z mise à jour incrémentale des données (bientôt disponible); FI 2 – 24 février 2009 – page 9
Atelier de programmation à l'EPFL – comment extraire des données depuis Internet! z z z z z z
intégration des données depuis des sources différentes; cache HTTP intégré; debugger et moniteur d’exécution; supporte des irrégularités dans les données source; format de sortie: XML, texte, CVS, Excel, SQL DB...; extension facile pour de nouvelles fonctionnalités.
des paramètres, les rendant ainsi très flexibles. Un exemple de composant est celui qui effectue une requête HTTP, ou encore celui qui extrait certaines données à partir d’un fragment XML.
Exemple: extraire le catalogue des vins d’un magasin sur Internet Le catalogue de vins en ligne de Denner contient environ 250 vins différents, sur une cinquantaine de pages. Nous sommes intéressés par tous les attributs disponibles, tels que le nom, l’origine, le millésime, le cépage, le prix, etc. (fig. 1). L’extraction des informations se fait dans une base de données, c’est-à-dire dans une forme structurée. Il est donc nécessaire de définir le schéma de cette base de données (fig. 2). L’étape suivante est la programmation de ce que nous appelons un extracteur. Le logiciel que nous avons développé permet d’exprimer les actions de l’extracteur avec une grande flexibilité, en définissant des composants et en utilisant leurs ports de données pour les connecter entre eux. Pour l’instant, nous avons une librairie d’environ quarante composants spécialisés. Leur fonctionnement peut être influencé par
fig. 1 – copie d'écran de www.denner.ch
Distinctions
wineRef INT(11)
Varietals
name LONGTEXT
position INT(11)
N P
Wines
sourceId INT(11)
A N P
qty VARCHAR(255)
N P
kindRef BIGINT(20)
F
origin VARCHAR(255) vintage INT(11)
price VARCHAR(255) wineRef INT(11)
F
position INT(11)
comment LONGTEXT description LONGTEXT lagerung VARCHAR(255) temperatur VARCHAR(255) image LONGTEXT
Kinds
id BIGINT(20)
U
WineVarietal
wineRef INT(11)
N P F
varRef BIGINT(20)
N F
position INT(11)
U
N P
WineFoodstu
wineRef INT(11) foodRef BIGINT(20)
position INT(11)
N P F N F N P
Foodstu s
id BIGINT(20)
A N P
name VARCHAR(255)
A N P
name VARCHAR(255)
title VARCHAR(255)
Merchandise id INT(11)
id BIGINT(20)
N P F
A N P
name VARCHAR(255)
fig. 2 – schéma de la base de données private static Pipeline getWine() { Tube builder = new Tube(); builder.chain(new XPathString("tbody/tr[2]"), new StringNormalizer(), new Pair("title")); builder.chain(new XPathString("tbody/tr[3]/td[1]"), new RegEx("^(.*[^:]):?$"), new Pair("name"), new Entity.Builder("Kind").keys("name").build(), new Pair("kind")); builder.chain(new XPathString("tbody/tr[3]/td[2]"), new Splitter(",\\s+"), new ForEach(new Chain( new ToString(), new StringNormalizer(), new Pair("name"), new Entity.Builder("Varietal").keys("name").build())), new Pair("varietals")); builder.chain(new XPathString("tbody/tr[td/text()='Origine:']/td[2]"), new Pair("origin")); builder.chain(new XPathString("tbody/tr[5]/td[2]"), new StringToInteger(), new Pair("vintage")); builder.chain(new XPathString("tbody/tr[td/a[starts-with(@onclick, 'sendWineDetailRequest')]]/following-sibling::tr"), new Pair("comment")); return builder.build(); }
fig. 3 – exemple du code source en Java d’une partie de l’extracteur FI 2 – 24 février 2009 – page 10
U
Atelier de programmation à l'EPFL – comment extraire des données depuis Internet! La figure 4 montre une représentation visuelle d’une autre partie de l’extracteur, chaque boîte représentant un composant spécialisé, et les lignes entre les composants représentant un transfert de données. Enfin, l’exécution de l’extracteur remplit la base de donnée selon le schéma défini précédemment. Les données sont directement exploitables avec des requêtes SQL. Extraire le catalogue de produits d’un site Internet est une tâche relativement simple, mais elle montre bien les techniques à mettre en oeuvre pour la réaliser. Dans cet exemple de catalogue de vins, il n’y a que 250 produits, mais il pourrait y en avoir tout aussi bien 250’000. Ce qui est important, c’est qu’au lieu d’implémenter une solution ad hoc, il vaut mieux faire appel à des outils spécialisés qui offrent la puissance et la flexibilité nécessaire.
Atelier
fig. 4 – les composants sont connectés entre eux par des ports entre lesquels transitent des données. Un port de sortie peut être connecté à plusieurs ports d'entrée.
Des ateliers de deux heures sont organisés au mois de mars à l’EPFL. Les deux premières dates prévues sont le lundi 9 mars et le mercredi 11 mars. Ouverts au public et gratuits pour tous les étudiants et personnel de l’EPFL, des connaissances en programmation sont recommandées. Nous organisons aussi d’autres ateliers avec une vue plus générale, en expliquant quels datasets (gratuits ou payants) on peut déjà trouver sur le marché, comme par exemple, DBPedia (une version structurée de Wikipedia), geonames.org, data.un.org (base de données de l’ONU), tvtv.co.uk (guide TV), Internet Movie DB et MusicBrainz (base de données de musique). Pour des questions d’organisation, nous vous remercions de vous inscrire sur le site lbd.epfl.ch/kraken/.n
fig. 5 – les données structurées dans MySQL Query Browser. FI 2 – 24 février 2009 – page 11
Students' Call for Proposals Aurore.Amaudruz@nokia.com, NRC Lausanne In the spirit of Open Innovation and to further promote the exchange of ideas, expertise and resources, Nokia Research Center in Lausanne is launching two rounds of Students’ Call for Proposals on February 16th, 2009. In Round One, EPFL Students are encouraged to submit an idea of any nature related to mobile applications or services, with a special emphasis on social interactions. Those identified to be the best ideas will be rewarded with the latest Nokia devices (N96, E71 and N810).
ROUND ONE: Call for Idea Proposals
This Call for Proposals is organized by NRC Lausanne and is open to EPFL Students only. Students can submit any innovative idea for a new mobile application or service, but a special emphasis on social interactions is preferred. The idea should be feasible to implement within a restricted period of time (i.e., within the time boundaries of Round Two), but there is absolutely NO obligation to participate in the implementation phase during Round Two (the Round One idea contest is independent of the Round Two implementation). Opportunities to file Invention Reports will be available for selected students with the most novel ideas (combined with the opportunity to receive monetary invention rewards). Internships or semester projects may also be offered related to those who submit relevant ideas from the perspective of the NRC Lausanne research portfolio (for spring 2009).
ROUND TWO: Implementation Phase on Nokia N810 Internet Tablets There will be a Round Two for software developers/hackers with the opportunity to actually implement their Round One ideas on Nokia N810 Internet tablets. Those judged to be the best implementations will also be rewarded with the latest Nokia devices. Additionally, there will be internship, as well as semester project, opportunities resulting from the Call for Proposals.
The two rounds of the call are independent from each other so students who want to participate in both phases need to submit separate participation forms (using the dedicated template) to enroll in each round of the call. Round Two participation forms need to be submitted simultaneously with the Round One forms. FI 2 – 24 février 2009 – page 12
The best proposals from Round One will be selected after evaluation to be pushed forward to the implementation phase of Round Two. Students applying for Round Two should have basic programming skills to be able to work with the N810 Maemo Linux-based mobile platform (www. maemo.org). Students are encouraged to work together in the implementation phase. To facilitate cooperation, access rights to the Nokia-EPFL Application Development laboratory in the BC building will be given to all the members of the group. Selected students will be able to demonstrate their work at an NRC Lausanne event in June 2009 and a board will be formed to judge the best demonstrations. Promising implementation activities may be converted to semester projects for fall 2009. The following criteria will be used in the selection of the ideas for the Round Two: Novelty, innovativeness, end-user benefit, feasibility and potential to make an impact.
Further information and the templates for submission can be found on the website: research.nokia.com/
The submission deadline for both rounds is March 1st, 2009. Email: students.cfp@nokia.com n
Flash informatique spécial été 2009
MobilIT Appel aux articles Nous sommes tous des nomades connectés, la thématique du numéro spécial de cet été sera donc MobilIT, l’informatique mobile. Voici quelques mots-clés pour donner des pistes à explorer: z le concept ATAWAD (AnyTime, AnyWhere, AnyDevice) et même ATAWADAC (ATAWAD + AnyContent); z Cloud computing ou informatique dans les nuages, comment trouver en ligne quelque part sur le réseau des ressources de stockage, d’hébergement de machines virtuelles ou de calcul; z les nouveaux outils qui envoient au galetas nos postes informatiques d’aujourd’hui, de l’iPhone au Kindle d’Amazon; z les frontières de plus en plus poreuses entre le monde du travail et la sphère privée; z les questions toujours légitimes concernant nos données personnelles: qui les gère, qui y a accès et l’éternelle problématique de la sécurité rendue plus critique par cette dématérialisation du réseau et des ressources. … Rappelons que dans ce numéro spécial, nos pages seront ouvertes aussi aux contributions extérieures à l’EPFL. N’hésitez donc pas à diffuser cet appel à vos connaissances, ni à nous soumettre d’autres idées ou noms d’auteurs potentiels. Le délai pour la soumission des articles est fixé à fin juin, mais un contact préliminaire est souhaité! (Jacqueline.Dousson@epfl.ch).
Concours de la meilleure nouvelle
Règlement
Le dixième concours de la meilleure nouvelle est ouvert
1. Le concours est ouvert aux étudiants et employés d’une des EPF (et autres instituts du domaine du CEPF), d’une université ou d’une HES suisses. Les membres du comité de rédaction du Flash informatique et du jury, ainsi que leur famille, ne peuvent concourir. 2. La meilleure nouvelle sera récompensée d’un prix de 1000.- frs offert cette année par , www.mathworks.ch/, et sera publiée dans le numéro spécial été 2009 du Flash informatique. Elle sera aussi publiée sur le Web ainsi que les nouvelles retenues par le jury. 3. La forme du concours est la nouvelle dans le style science-fiction, fantastique ou polar, soit un récit inédit rédigé en français de 1500 à 2500 mots. 4. Le thème du concours 2009 doit donner un rôle prédominant dans le déroulement de son histoire au thème du spécial été 2009: MobilIT, c’est-à-dire l’informatique mobile. 5. Les textes numériques (documents Word, OpenOffice, RTF, HTML ou au format texte) doivent être soumis avant le lundi 8 juin 2009 à minuit à travers le formulaire se trouvant à l’adresse: ditwww.epfl.ch/concoursFI09, qui garantit l’anonymat des auteurs. Toutes les informations relatives au concours sont accessibles depuis la page dit.epfl.ch/ n FI 2 – 24 février 2009 – page 13
Projets AAA de Switch pour la période 2008 - 2011
Nouvelle autorité de
certification pour les certificats de serveurs
Suite aux projets AAI, la Fondation SWITCH a démarré au printemps 2008 une nouvelle phase de projets AAA appelée e-Infrastruture for e-Science pour la période 2008-2011. Les unités de recherche, les services informatiques centraux et les unités de e-learning peuvent soumettre deux fois par année des propositions de projets. L’objectif de ces projets est d’améliorer le partage des prestations informatiques entre les différentes institutions, dans les domaines du Grid (optimisation de l’usage des ressources), du e-learning (améliorer l’accessibilité et le partage), et des organisations virtuelles (meilleurs supports informatiques aux projets de recherche inter-institutionnels). Pour la troisième étape, les projets doivent être soumis jusqu’au 31 mars 2009. Ces projets doivent être centrés sur des aspects coopératifs et doivent impliqués au moins un autre partenaire institutionnel. Le soumissionnaire doit également apporter 50% des fonds du projet. Les projets seront évalués en fonction des bénéfices pour l’utilisateur final, des aspects coopératifs, du caractère d’innovation, de la pérennité de la solution et de la qualité de la gestion du projet. Des renseignements très complets sont disponibles à l’adresse www.switch.ch/aaa ou peuvent être obtenus chez pierre.mellier@epfl.ch
Nous annoncions il y a une année (ditwww.epfl.ch/SIC/SA/SPIP/Publications/ spip.php?article1425) la mise en place à l’EPFL d’une Registration Authority rattachée à SWITCHpki (www.switch.ch/pki/), permettant d’obtenir des certificats pour les serveurs Web de l’EPFL signés par GlobalSign, une autorité de certification reconnue par tous les browsers. Cette année, SWITCHpki a décidé de changer de fournisseur et les certificats seront désormais émis par QuoVadis (quovadis.ch/), une autorité de certification suisse (mais, comme c’est exotique, basée aux Bermudes) dont le certificat est bien sûr aussi reconnu par tous les browsers du marché. Ce changement sera donc transparent pour l’utilisateur final visitant les sites sécurisés de l’EPFL. De même, la soumission de requêtes de certificat pour les serveurs de l’EPFL continue à se faire en suivant les indications du site rauth.epfl.ch.
Pierre.Mellier@epfl.ch, Domaine IT
Martin.Ouwehand@epfl.ch, Domaine IT
38e Workshop en Calcul Haute Performance et Tutorial sur l'utilisation pratique des GPU 7-8 Septembre 2009, EPF Lausanne Ce workshop est organisé par la Société Speedup – www.speedup.ch. Durant ce workshop, les conférenciers présentent et discutent l’état de l’art des domaines du calcul haute performance et du calcul scientifique. Les conférences se concentrent sur l’algorithmique et les défis logiciels concernant le calcul haute performance. Les séances de ce workshop couvriront les sujets suivants: langages pour les ordinateurs multicores (UPC, OpenCL, CUDA), application multicores, avec un fort accent sur les nouvelles technologies comme les GPUs et Cell. Il y aura aussi une séance de posters, encouragez vos collaborateurs à participer! La date limite pour les inscriptions est le 25 août 2009. Plus d’informations et le formulaire d’inscription sur www.speedup.ch. Pour le comité Speedup, Vittoria.Rezzonico@epfl.ch
Les adresses e-mail de l’EPFL sont souvent victimes de PHISHING, mails frauduleux qui cherchent à connaître des informations confidentielles. Le DIT rappelle qu’il ne demandera jamais par e-mail votre mot de passe, il ne faut donc JAMAIS répondre à ce type de message. FI 2 – 24 février 2009 – page 14
FileMaker Pro et les rubriques de type Global Anne-Cécile Follonier, follonier@arobasque.ch, arobasque
Non,
notre article n’a rien à voir avec le sujet tant à la mode de la globalisation… Quoique … Le but est de créer une rubrique contenant une valeur utilisée pour tous les enregistrements, par exemple: pour utiliser le logo ou l’adresse de votre société sur plusieurs modèles (ainsi, une seule mise à jour sera nécessaire en cas de modification); autre exemple: créer une page d’étiquettes avec les données d’une même personne. Le contenu d’une rubrique de type Global peut être prédéfini par le développeur de l’application. Il est identique pour tous les utilisateurs de l’application au démarrage mais peut ensuite être modifié au moment d’interférer avec les autres utilisateurs, un peu comme une copie personnelle disponible au sein d’une même session utilisateur. Le double avantage de la rubrique de type Global est qu’elle peut être modifiée par l’utilisateur, de même qu’affichée dans les modèles.
Exemples d’utilisation
Créer une rubrique Global
z Créer un modèle de lettre z Au début de ce modèle, placez les deux rubriques
z Fichier … Gérer … Base de données z Sélectionner la rubrique z Faites un double-clic sur son nom ou cliquez sur le bouton Options z Activez l’onglet Autres Options z Activez l’option Utiliser le stockage global (une seule valeur pour tous les enregistrements) z Validez en cliquant le bouton OK
z En mode Utilisation et sur n’importe quel enregistrement, remplissez la rubrique Adresse société et insérez une image dans la rubrique Logo société
Stockage Le stockage d’une rubrique de type Global ou d’une variable globale s’effectue sur la machine cliente au moment où l’utilisateur ouvre une session de l’application. Cela signifie que la valeur stockée dépend de l’utilisateur et qu’il n’est pas nécessaire d’extraire les données du serveur à chaque fois qu’elles sont nécessaires à l’exécution d’un script ou d’un calcul.
Un même logo et une même adresse utilisés sur différents modèles de lettres: z Fichier … Gérer … Base de données z Donnez un nom à la rubrique: Logo société z Faites un double-clic sur son nom ou cliquez sur le bouton Options z Activez l’onglet Autres Options z Activez l’option Utiliser le stockage global (une seule valeur pour tous les enregistrements) z Validez en cliquant le bouton OK Répétez les mêmes opérations pour la rubrique Adresse société
Avantages: sur vos différents modèles de lettres, insérez ces rubriques. En cas de changement d’adresse ou de logo, il suffit de se trouver en Mode Utilisation et d’effectuer les modifications sur n’importe quel enregistrement. Tous les enregistrements seront modifiés.
Une même étiquette sur une page A4 Vous désirez avoir en réserve une page d’étiquettes pour une seule personne. z Créez un modèle d’Etiquettes sans aucune rubrique z Fichier … Gérer … Base de données z Créez la rubrique Adresse globale de type Texte FI 2 – 24 février 2009 – page 15
FileMaker Pro et les rubriques de type Global z Faites un double-clic sur son nom ou cliquez sur le bouton Options z Activez l’onglet Autres Options z Activez l’option Utiliser le stockage global (une seule valeur pour tous les enregistrements) z Validez en cliquant le bouton OK z Insérez la rubrique sur le modèle en Mode Modèle z Agrandissez-la
z En Mode Utilisation, remplissez cette rubrique z Affichez le Mode Prévisualisation.
Et le tour est joué!!!
Comme quoi la globalisation peut avoir certains avantages si elle est bien utilisée!!!n
Programme des cours organisés par le Domaine IT de l’EPFL
Renseignements (les matins des lu, ma & ve) Daniele.Gonzalez@epfl.ch ✆ 021/69 353 14 Fax: 021/69 322 20
Ces cours sont ouverts à tous, membres ou non de l’EPFL. Pour le personnel de l’EPFL, le DIT se charge des frais de cours. Les descriptifs des cours sont sur Internet: dit.epfl.ch/formation Vous pouvez nous atteindre à l’adresse: cours.dit@epfl.ch
Renseignements (tous les matins) Josiane.Scalfo@epfl.ch ✆ 021/69 322 44 Fax: 021/69 322 20
CONDITIONS D’INSCRIPTION En cas d’empêchement à suivre le(s) cours, l’élève avertira le Domaine IT au minimum une semaine à l’avance (sauf cas exceptionnel), faute de quoi le DIT se réserve le droit de facturer à son unité les frais occasionnés pour le cours. Une confirmation parviendra à l’élève avant le(s) cours. S’il est déjà complet, l’élève sera informé de suite et son nom placé en liste d’attente. Dès qu’un cours identique sera fixé, il recevra un courriel l’informant des nouvelles dates. Le DIT se réserve le droit d’annuler un cours si le nombre minimum de 4 participants n’est pas atteint ou pour des raisons indépendantes de sa volonté. Aucune compensation ne sera due par le DIT.
introduction au poste de travail
Nom du cours système Mac OS X rapido: Mail et Carnet d’adresses optimiser la gestion de vos dossiers et documents Windows Vista rapido l’essentiel des nouveautés l’essentiel des nouveautés FI 2 – 24 février 2009 – page 16
n°
date(s)
horaire
1/2 j.
09-0243 09-0242
31.03.09 08:30 - 10:30 1 24.03.09 08:30 - 12:00 1
09-0202 09-0203
06.03.09 08:30 - 10:30 1 02.04.09 08:30 - 10:30 1
Formation acquisition et traitement de données
Nom du cours LabVIEW Basics I Basics II CLD / CLA DAQ Intermediate I Intermediate II Real-Time un travail efficace grâce à la version 8.6 Nouveau VBAI Vision/IMAQ Nouveau LabWindows/CVI I LabWindows/CVI I Nouveau TestStand I TestStand I
système
n°
09-0026 09-0027 09-0032 09-0025 09-0028 09-0031 09-0035 09-0024 09-0051 09-0052
date(s) 23 au 25.03.09 26 & 27.03.09 22.05.09 18 au 20.03.09 22 au 24.04.09 19 & 20.05.09 17 au 19.06.09 26.02.09 21.04.09 30.04 & 01.05.09
horaire
1/2 j.
08:30 - 17:00 08:30 - 17:00 08:00 - 12:00 08:30 - 17:00 08:30 - 17:00 08:30 - 17:00 08:30 - 17:00 08:30 - 17:00 08:30 - 17:00 08:30 - 17:00
6 4 1 6 6 4 6 2 2 4
09-0039
22 au 24.07.09 08:30 - 17:00 6
09-0040
27 au 29.07.09 08:30 - 17:00 6
applications de gestion de l’EPFL
Nom du cours Accréditation Accréditation EPFL Service financier et CCSAP Comptabilité à l’EPFL, Infocentre, Notes de frais
système
n°
date(s)
horaire
1/2 j.
09-0130
27.02.09 08:30 - 12:00 1
09-0042
18, 19 & 23.03.09 08:30 - 12:00 3
base de données
Nom du cours Access 2007 1-introduction 2-avancé FileMaker Pro 9 1-introduction 2-les modèles 3-les listes de valeurs et options 4-les scripts et boutons 5-développement d’une base de données 5-développement d’une base de données
système
Nom du cours Illustrator CS3 introduction PhotoShop CS3 retouche d’images Visio 2007 Visio 2007
horaire
1/2 j.
09-0150 09-0151 09-0152 09-0153 09-0060 09-0157
05.03.09 12.03.09 19.03.09 26.03.09 03, 10 & 17.03.09 21, 28.04 & 05.05.09
08:30 - 12:00 08:30 - 12:00 13:30 - 17:00 13:30 - 17:00 13:30 - 17:00 08:30 - 12:00
1 1 1 1 3 3
- image
système
date(s)
009-0160 29.04, 04, 07 & 13.05.09 08:30 - 12:00 4 009-0161 15, 22 & 24.06.09 08:30 - 12:00 3
dessin
n°
n°
date(s)
horaire
1/2 j.
09-0215
06 & 13.05.09 08:30 - 12:00 2
09-0131
09, 11, 16 & 18.03.09 13:30 - 17:00 4
09-0217
14.05.09 08:30 - 12:00 1 FI 2 – 24 février 2009 – page 17
Formation édition
Nom du cours système n° Acrobat 8 rapido intro à la création de documents.pdf 09-0110 InDesign CS3 introduction 09-0187 LaTeX 09-0158 Nouveau avancé (en anglais) introduction (en anglais) 09-0147 Word 2007 comment bien gérer les styles 09-0220 09-0106 Nouveau création de modèles personnalisés les longs documents 09-0219 rapido: gagner du temps grâce aux automatismes 09-0103 rapido: insertion et gestion des images 09-0102 rapido: insertion et gestion des images 09-0221 rapido: la gestion des tableaux 09-0222 rapido: partager efficacement vos documents 09-0104 rapido: publipostage (mailing) 09-0105 transition et nouveautés 09-0091 transition et nouveautés 09-0204 Word Mac 2004 ou PC 2003 09-0234 Nouveau création de modèles personnalisés les longs documents 09-0066 rapido: comment bien gérer les styles 09-0229 rapido: gagner du temps grâce aux automatismes 09-0097 rapido: insertion et gestion des images 09-0230 rapido: la gestion des tableaux 09-0231 rapido: partager efficacement vos documents 09-0095 rapido: publipostage (mailing) 09-0096
organisation
Nom du cours MindManager Pro 7 MindManager Pro 7 Outlook 2007 calendrier, tâches et notess messagerie et contactss Project 2007 1-introduction Nouveau VisualMind VisualMind
date(s)
horaire
1/2 j.
25.03.09 08:30 - 10:30 1 23 & 26.03.09 08:30 - 12:00 2 06 au 08.04.09 08:30 - 17:00 6 09, 10, 12 & 13.03.09 08:30 - 17:00 8 16.04.09 31.03.09 06 & 07.04.09 26.03.09 26.02.09 21.04.09 28.04.09 02.03.09 03.04.09 23.03.09 15.04.09
08:30 - 12:00 08:30 - 12:00 13:30 - 17:00 08:30 - 10:30 08:30 - 10:30 13:30 - 15:30 13:30 - 15:30 08:30 - 10:30 08:30 - 10:30 13:30 - 15:30 08:30 - 12:00
1 1 2 1 1 1 1 1 1 1 1
12.06.09 12 & 19.03.09 21.04.09 10.03.09 28.04.09 07.05.09 27.02.09 05.03.09
08:30 - 12:00 13:30 - 17:00 13:30 - 15:30 08:30 - 10:30 13:30 - 15:30 08:30 - 10:30 08:30 - 10:30 13:30 - 15:30
1 2 1 1 1 1 1 1
- planification
système
n°
date(s)
horaire
1/2 j.
09-0080
20.03.09 08:30 - 12:00 1
09-0064 09-0063
16.03.09 13:30 - 17:00 1 09.03.09 13:30 - 17:00 1
09-0081
10 & 17.03.09 08:30 - 12:00 2
09-0228
10.06.09 13:30 - 17:00 1
présentation
Nom du cours PowerPoint 2007 rapido: 1-dessin et objets rapido: 2-modèles et masques rapido: 2-modèles et masques rapido: 3-diaporama rapido: 3-diaporama rapido: transition
FI 2 – 24 février 2009 – page 18
système
n° 09-0239 09-0086 09-0240 09-0087 09-0241 09-0236
date(s) 15.05.09 10.03.09 26.05.09 24.03.09 05.06.09 30.03.09
horaire
1/2 j.
08:30 - 10:30 13:30 - 15:30 08:30 - 10:30 13:30 - 15:30 08:30 - 10:30 13:30 - 15:30
1 1 1 1 1 1
Formation programmation
Nom du cours AJAX développement d’applications Web 2.0 Apache Nouveau How To Apache C apprentissage du langage C++ Nouveau templates et STL CUDA Nouveau programmer avec CUDA DIT HPC Nouveau Servers usage (in english) Java apprentissage du langage JavaScript développer en HTML dynamique MPI Introduction à la programmation parallèle PERL apprentissage du langage SPIP Nouveau gérer et personnaliser un site Web
système
n°
date(s)
horaire
1/2 j.
09-0121
16 au 18.03.09 08:30 - 17:00 6
09-0148
20 & 21.04.09 08:30 - 17:00 4
09-0125
31.03 au 03.04.09 08:30 - 17:00 8
09-0143
05 & 06.03.09 08:30 - 17:00 4
09-0155
29 & 30.04.09 08:30 - 17:00 4
09-0255
15.04.09 08:30 - 17:00 2
9-0123
23 au 26.03.09 08:30 - 17:00 8
09-0142
04 au 06.05.09 08:30 - 17:00 6
09-0163
12 au 15.05.09 08:30 - 17:00 8
09-0122
19 & 20.03.09 08:30 - 17:00 4
09-0124
27 & 30.03.09 08:30 - 17:00 4
système
Nom du cours Linux à l’EPFL 1-premiers pas Linux 4-sécurité How To Linux Windows Server 2008 1-infrastructure réseau 2-Active Directory 3-accès centralisé aux applications Windows Vista 1-installation et configuration 2-dépannage et maintenance 3-support applications et système
système
n°
date(s)
horaire
1/2 j.
09-0145
22 au 24.04.09 08:30 - 17:00 6
09-0146 09-0162
25 au 27.05.09 08:30 - 17:00 6 28 & 29.05.09 08:30 - 17:00 4
09-0011 09-0012 09-0013
05 & 06.03.09 08:30 - 17:00 4 12 & 13.03.09 08:30 - 17:00 4 07 & 08.04.09 08:30 - 17:00 4
09-0014 09-0015 09-0016
16 & 17.04.09 08:30 - 17:00 4 07 & 08.05.09 08:30 - 17:00 4 14 & 15.05.09 08:30 - 17:00 4
tableur
Nom du cours Excel 2007 1-introduction 2-feuilles de calcul 2-feuilles de calcul base de données base de données rapido: les graphiques
système
n° 09-0197 09-0140 09-0198 09-0074 09-0200 09-0073
date(s) 03.06.09 02, 05 & 17.03.09 09, 11 & 16.06.09 01.04.09 23.06.09 25.03.09
horaire
1/2 j.
13:30 - 17:00 13:30 - 17:00 13:30 - 17:00 13:30 - 17:00 13:30 - 17:00 13:30 - 15:30
1 3 3 1 1 1
FI 2 – 24 février 2009 – page 19
Formation Excel 2007 rapido: les graphiques rapido: les tableaux croisés dynamiques rapido: transition et nouveautés VBA 1-introduction Excel Mac 2004 ou PC 2003 1-introduction 2-feuilles de calcul base de données base de données rapido: les graphiques rapido: les tableaux croisés dynamiques
www
Nom du cours Dreamweaver CS3 introduction HTML et feuilles de styles Flash CS3 1ère partie 2ème partie Inform création de formulaires EPFL Jahia 4 création de sites web EPFL
09-0199 09-0201 09-0205 09-0144
18.06.09 25.06.09 30.04.09 03 & 04.03.09
13:30 - 15:30 13:30 - 15:30 08:30 - 10:30 08:30 - 17:00
1 1 1 4
09-0192 09-0193 09-0070 09-0195 09-0194 09-0196
20.04.09 28.04, 01 & 08.05.09 06.03.09 29.05.09 15.05.09 05.06.09
13:30 - 17:00 08:30 - 12:00 08:30 - 12:00 08:30 - 12:00 08:30 - 10:30 08:30 - 10:30
1 3 1 1 1 1
- Web
système
n°
date(s)
horaire
1/2 j.
09-0249 09-0183
03, 04, 17 & 20.03.09 08:30 - 12:00 4 27.03 & 01.04.09 08:30 - 12:00 2
09-0185 09-0186
27.04, 04 & 11.05.09 08:30 - 12:00 3 18 & 25.05.09 08:30 - 12:00 2
09-0113
30.03.09 08:30 - 12:00 1
09-0076
02 & 05.03.09 08:30 - 12:00 2
INSCRIPTION POUR LES COURS ORGANISÉS PAR LE DIT A retourner à Josiane Scalfo ou à Danièle Gonzalez, DIT-EPFL, CP 121, 1015 Lausanne 15 Je, soussigné(e) Nom:_____________________________________ Prénom:_ ___________________________ Tél.:__________________________________________________ E-Mail:_____________________________ Fonction:______________________________________________ Institut: _______________________________________________ Faculté:_____________________________ Adresse:_ ___________________________________________________________________________________ m’engage à suivre le(s) cours dans son (leur) intégralité et à respecter l’horaire selon les conditions d’inscription: Nom du cours
N° du cours
N° cours de remplacement
Date du cours
__________________________________________________________________________________________ __________________________________________________________________________________________ Date:_ ______________________________________________
signature:___________________________
Autorisation du chef hiérarchique:_ _____________________________________________________________ Nom lisible:____________________________________________
signature:_ _________________________
Intérêt et souhait pour d’autres cours______________________________________________________________ Description ou titre des cours que je souhaite voir organiser par le DIT:_ ______________________________________ __________________________________________________________________________________________ FI 2 – 24 février 2009 – page 20
Le cluster du pauvre Martin.Rentschler@epfl.ch & Bob.deGraffenried@epfl.ch, ENAC – Laboratoire d'hydraulique environnementale
La
demande de ressources de calculs devenant de plus en plus importante, et les ressources du DIT étant limitées, il y une demande croissante de petites grilles de calculs autonomes. Aujourd’hui, l’avancement technologique dans le domaine de l’informatique nous permet de construire des petites grilles de calculs à des prix très compétitifs. (voir aussi l’article de Vittoria Rezzonico Beowulf-me ! 1).
Au sein du LHE (Laboratoire d’Hydraulique Environnementale) sont menées des simulations de mécanique des fluides tridimensionnelle qui demandent des ressources de calculs de haute performance. Une simulation standard prend typiquement plusieurs jours sur Mizar (cluster Linux du DIT) et les gros calculs prennent parfois plus d’un mois pour s’effectuer. Ceux-ci passent d’abord un temps considérable dans des files d’attente pour ensuite être traités par 64 processeurs pendant 24 à 48 heures au maximum. En parallèle à ces modélisations numériques, nous pratiquons des expériences en mécanique des fluides utilisant des techniques optiques (PIV, PTV) qui demandent beaucoup de mémoire vive pour le traitement des images. C’est alors qu’est tombée la décision de mettre en place un système de calcul indépendant au sein de notre unité. En début 2008, nous avons alors assemblé quatre machines identiques ayant pour caractéristiques principales: z 2 CPU Quad-Core Intel Xeon E5335 (4x 2GHz), total de 32 cœurs pour les 4 machines; z 8GB RAM DDR2 (4x2GB); z 2 interfaces LAN Gigabit. En premier lieu, c’est l’une des 4 machines qui eut le rôle de maître, la seule donc à contenir de l’espace disque servant au stockage des résultats ainsi qu’au système d’exploitation (Ubuntu), que les autres nœuds chargent via une interface réseau. Plus tard, nous avons monté une machine supplémentaire pour remplir ce rôle. Les machines sont inter-connectées via deux switchs, le premier pour la communication TCP-IP (ssh, nfs, dhcp...) et le second pour la communication des données de calcul (mpi). Le protocole TCP-IP produit des temps de latence très
longs, car il n’est pas optimisé pour transférer beaucoup de petits paquets rapidement sur un réseau simple. Une bonne alternative représente ici l’utilisation du protocole gamma2 qui dans notre cas a multiplié la performance de l’ensemble par deux. Dans un souci d’optimisation des temps de latence, le choix des switchs est également important, mais les modèles de gamme professionnelle restent peu abordables ce qui nous a contraints à nous tourner vers des switchs Gigabit standards pour le grand public. Grâce encore une fois à l’avancée technologique, à travers laquelle la consommation et la température des composants sont continuellement en baisse, il n’a pas été nécessaire d’installer une climatisation, bien que les 4 machines soient installées sur une surface de 2 mètres carrés et dans un local non aéré. Une comparaison des performances avec Mizar a montré que pour le même nombre de nœuds ce cluster calcule deux fois plus rapidement que Mizar, ce qui n’est pas étonnant vu que nos machines sont beaucoup plus récentes. De plus, le coût de calculs de ces machines est largement inférieur: considérant un investissement de départ de CHF 12’000.-, sans prendre en compte l’amortissement et le coût du kWh, le coût de calcul nous revient à CHF 0.021 par heure et par CPU, comparé à CHF 0.65 sur Mizar ou CHF 5.50/ (CPU*h) sur Altrix3, le tout calculé sur une durée d’utilisation de deux ans. Une comparaison avec Callisto, mise en service en automne passé par le DIT, amène à des coûts annuels par processeur quad-core (tenant compte d’un amortissement sur quatre ans et des deux tiers de coûts pris en charge par des crédits centraux) de: 1’500’000/4/3/256 =488.30 CHF. Par un calcul analogue, notre cluster revient à: 12’000/4/8=375 CHF. Callisto est cependant plus performant tant au niveau des CPU que de la communication, en étant toutefois d’un an le cadet de notre cluster. En résumé, un petit cluster est donc une alternative au rapport coût/performances intéressant pour des petits clusters autonomes. Une pareille mise en place est tout à fait envisageable pour un laboratoire. Pour certaines applications et certains utilisateurs, une solution à petite échelle peut être plus intéressante qu’une solution à grande échelle en utilisant du matériel standard, simple à obtenir, à remplacer et surtout moins cher à l’acquisition. n Ndr: L’infrastructure présentée ci-dessus est une des possibilités de cluster de calcul présentes dans l’École. Rendezvous dans un prochain FI pour une vue d’ensemble des moyens de calcul disponibles. À cette occasion, la nouvelle politique de financement HPC sera présentée.
1
dans FI8/07, ditwww.epfl.ch/SIC/SA/SPIP/Publications/spip.php?article1384 www.disi.unige.it/project/gamma/ 3 dit.epfl.ch/page60874.html 2
FI 2 – 24 février 2009 – page 21
Départ d'un homme réseau Jacqueline.Dousson@epfl.ch, Domaine IT
René Berger
qui vient de nous quitter est un des rares intellectuels qui considérait la technique et s’en nourrissait; il est toujours resté à l’affût des nouvelles technologies, et surtout des changements qu’elles provoquent dans nos comportements individuels et collectifs. Depuis plus de vingt ans, il traque et interroge les scientifiques et informaticiens de l’EPFL, car avant beaucoup d’autres, il a compris que l’informatique, puis Internet, puis le Web allaient transformer le monde du XXIème siècle. L’EPFL et René Berger, c’est une longue histoire d’échanges et d’enrichissements mutuels; l’École a d’ailleurs voulu marquer ce lien en lui décernant le titre de Docteur honoris causa en 1999, «en hommage au philosophe, au pionnier, à l’universitaire, au plein sens du terme, qui nous montre constamment les futurs possibles et les responsabilités qu’ils impliquent pour l’ingénieur, l’artiste ou le politique». Dès 1984, il suivait les cours postgrade d’informatique technique, organisés par le professeur Giovanni Coray, pour apprécier ce que l’intelligence artificielle peut nous enseigner sur l’apprentissage et sur l’imitation du comportement humain. Fidèle adepte des ordinateurs Apple Macintosh, il fut auditeur assidu des premiers PolyMac, observateur attentif de ces nouveaux outils. Puis, le Web arriva; cela nous semble une évidence aujourd’hui, mais il faut l’avoir vu dès 1994, annoncer que le Web allait tout bouleverser à un public qui l’écoutait poliment, respectueux de ses cheveux blancs, mais au fond amusé par tant de naïveté et pour qui l’informatique se réduisait (au mieux !) au mail de leur secrétaire, pour apprécier à quel
point René Berger était un défricheur et un visionnaire. Le Web, il s’en est emparé comme peu l’ont fait, en initiant le site: À la rencontre des Trésors d’Art du Monde (www. fondationberger.ch), en souvenir de son fils Jacques-Edouard, puis le site Observatoire Pilote (oeuf.epfl.ch) qui rassemble ses cyber-carnets (le dernier date du 15 janvier 2009). René citait parfois Rimbaud: Il faut être voyant ! et lui l’a été toute sa vie, curieux et gourmand d’actualités, que ce soit la découverte d’une nouvelle planète ou l’utilisation de Faceboook dans la campagne d’Obama. L’EPFL perd avec lui un regard toujours plus nécessaire sur les techniques, leur usage et leur devenir. L’article ci-après Vers une informatique axiologique de René Berger, que nous avons choisi de reproduire, est le résumé d’une conférence qu’il a donnée dans le cadre des cours postgrades d’informatique technique, c’est sa première contribution au Flash informatique qui venait de naître; elle fut suivie par beaucoup d’autres; avec René, le journal perd un lecteur attentif, peu avare en compliments sur le travail accompli, en encouragements et en suggestions pour l’avenir. Laissons à Madeleine Gobeil et Edgar Morin, les mots de la fin avec cet extrait d’un article paru dans Le Monde daté du 11 février 2009: «Jusqu’à sa mort, René Berger s’est employé à déceler les indices susceptibles d’inventer l’avenir. Il appelait de ses vœux un changement radical, qui ferait de l’homme une espèce fondamentalement modifiée, un homme réseau, non plus un homme seul dans l’habitude des structures familiales et nationales, mais un homme intégré dans les réseaux et que les réseaux intègrent.» n
Photo prise le 29 avril 2005 lors du repas qui suivait l’«hommage à un grand ami à un esprit lumineux» qui lui avait été rendu à l'EPFL FI 2 – 24 février 2009 – page 22
Vers une informatique axiologique? René Berger (1915-2009), docteur ès lettres de la Sorbonne, docteur honoris causa de l’EPFL, professeur honoraire de l’Université de Lausanne et de l’Ecole des beaux-arts, directeur-conservateur du Musée des beaux-arts (1962-1981), fondateur du mouvement culturel Pour l’art et du Salon international de Galeries-Pilotes, président d’honneur de l’AICA (Association internationale des critiques d’art) et de l’AIVAC (Association internationale pour la vidéo dans les arts et la culture), membre fondateur de l'UPL (Université Populaire de Lausanne), Expert consultant auprès de l'Unesco, membre du Kuratorium du Zentrum fur Kunst und Medientechnologie de Karlsruhe, Allemagne… Flash biblique: «Au commencement Dieu créa le 0 et le 1» et fut pris d’un doute. Pas l’homme. L’informatique est devenue un fait de civilisation, peut-être le plus marquant. Cela posé, et quels que soient les progrès en cours, de l’ordinateur électronique à l’ordinateur biologique en passant par l’ordinateur photonique, quelles que soient d’un autre côté la multiplicité et la diversité des logiciels qui ne cessent de se perfectionner, force est de constater que l’univers dans lequel elle est née et dans lequel elle opère reste essentiellement positiviste. Si le positivisme est d’abord lié à la philosophie d’Auguste Comte, elle-même inspirée de Condorcet, il convient de rappeler que dans son acception courante il désigne l’état d’esprit qui se fonde sur la double croyance dans le progrès de l’humanité d’une part, dans la supériorité du savoir scientifique, d’autre part. Plus spécifiquement, l’empirisme logique pose à la fois que toute connaissance de la réalité (matter of facts) est affaire de données (data) positives issues de l’expérience et qu’il y a un domaine purement formel des relations d’idées (relations of ideas) qui relève de la logique et des mathématiques [1]… C’est dire que la connaissance fournie à l’ordinateur sous la forme d’algorithmes, d’heuristiques, de langages, de programmes, de procédures au moyen de faits et de données est fondamentalement positiviste, comme l’est de son côté la connaissance qu’il fournit. Les champs d’application ont beau se multiplier à l’infini, ou presque, c’est toujours la même logique de la computation qui est à l’œuvre [2]. De fait, elle est tellement adaptée à notre époque qu’on finit par la prendre pour la seule seule possible. Il est vrai que c’est elle qui se prête le mieux aux exigences de l’Action et de sa cohorte d’acolytes: Prévision, Prédiction, Simulation, Planification, Modélisation, etc. – logique au service d’une partie de la réalité, non pas compatible avec toute la réalité. L’informatique peut-elle continuer longtemps dans cette voie? La réponse est nette: une ou deux décennies tout au plus, c’est ce que nous accordent certains esprits que leur charge à la tête des entreprises qui façonnent notre monde oblige à pratiquer un supplément de lucidité! Aussi faut-il redoubler d’attention quand un Tasahi Sasaki, vice-président de Sharp, l’un des grands de l’électronique, désignant les nua-
ges qui s’accumulent au seuil du troisième millénaire, déclare sans ambages que: vers l’an 2000 la crise de l’informatique consistera dans le fait qu’il ne sera plus possible de travailler avec le hardware et le software comme deux entités séparées, non plus que d’avoir les experts des deux spécialités travaillant simplement ensemble. Il sera devenu nécessaire de développer quelque chose qui incorporera les deux en un, quelque chose qu’il dénomme comme formware. Il ne s’agit ni d’une clause de style, ni d’un néologisme de fortune. Dans leur conception actuelle, les ordinateurs arrivent à un cul-de-sac. Il est donc nécessaire et urgent de les humaniser en faisant d’eux, non seulement des instruments efficaces ou des agents soumis, mais de véritables partenaires. Et Tasahi Sasaki de conclure que l’issue ne sera possible qu’à partir du moment où les techniciens se mettront aussi à penser en termes de spirituel [3]. Déclaration stupéfiante si l’on songe au réalisme de nos dirigeants occidentaux, politiciens, fabricants, techniciens, commerçants, savants, qui n’ont de souci que l’efficacité. C’est donc l’honneur de certains Japonais, quel que soit le réalisme forcené qu’on leur attribue dans la conduite des affaires, de ne pas oublier la leçon de leur civilisation. L’Orient n’a en effet jamais tout à fait séparé l’esprit du corps, ni la nature de l’homme, ni le sujet de l’objet, triple séparation sur laquelle l’Occident a assis son pouvoir et son hégémonie durant des siècles, mais dont il commence aujourd’hui à sentir les limites et déjà certains effets pernicieux, voire pervers. Sans prétendre le moins du monde m’inspirer de la sagesse orientale, dont l’engouement chez nous est pourtant significatif, je crois que l’observation de ce qui se passe sous nos yeux suffit. Qu’on se place sous le signe du formware ou de quelque autre invocation, la question incontournable est celle-ci: si l’informatique a jusqu’ici réduit l’Univers à son propre univers, il est désormais temps qu’elle fasse un pas de plus. Pas décisif puisqu’il s’agit pour elle de s’élever, sinon à la hauteur de l’Univers, du moins aux conceptions que les hommes s’en sont faites, et à celle que nous sommes en train d’élaborer. Aucune Weltanschauung ne se réduit en effet jamais ni ne peut se réduire à une collection de faits ou de données; elle implique toujours un sens que les sociétés développent au cours de leur histoire et qui éclaire simultanément leur existence au monde et la nature des liens qui unit leurs membres entre eux. FI 2 – 24 février 2009 – page 23
Vers une informatique axiologique? Après la préhistoire de l’informatique (quatre ou cinq décennies tout au plus!), consacrée à l’acquisition grandissante de la force brute, on est en droit d’attendre qu’à l’approche de sa maturité (?) elle s’engage sur la voie de la complexité douce et souple qui a caractérisé l’évolution de notre espèce jusqu’au couronnement qu’on lui prête, l’avènement de l’intelligence. Une deuxième étape de l’informatique est-elle possible? Ou peut-on déjà parler d’une deuxième informatique en devenir? A côté de l’informatique stratégique, qui relève de la seule efficacité positiviste, une informatique axiologique [4], c’est-à-dire qui tienne compte des valeurs, ne doit-elle pas être, non seulement envisagée, mais proposée comme fin prioritaire? À la volonté de toute puissance de l’une s’oppose l’aspiration à la toute-conscience de l’autre. C’est ce que tentent depuis le début certains artistes dont le mieux qu’on puisse dire est qu’ils restent affectueusement marginalisés [5J. Leurs œuvres, à tout le moins leurs recherches nourrissent l’ambition, la volonté (ou les deux) de créer consciemment ou inconsciemment un nouveau type d’environnement auquel l’artiste américain Myron W. Krueger a donné le nom à la fois pertinent et combien évocateur de Responsive Environment. Ordinateurs et hommes s’y répondent, non seulement pour satisfaire des besoins utilitaires, mais pour créer des modes de vie adaptés aussi bien à nos désirs, à nos aspirations qu’à notre plaisir esthétique [6]. En fait, il s’agit pour lui, comme pour nous tous d’ailleurs, de faire de notre réalité une ARTIFICIAL REALITY (c’est le titre même de son livre), non pas au sens où la réalité serait purement et simplement fabriquée, réduisant hommes et machines au seul service de quelques puissants (ce qu’évoquent la Metropolis de Fritz Lang, le Big Brother d’Orwell et tant d’autres œuvres de science-fiction), mais au sens où la machine, la technologie tout entière, et donc l’ordinateur pourraient s’accorder avec nous pour élaborer un nouveau milieu vital. L’art n’est pas un ajout; il en fait partie intégrante. Valeurs esthétiques, valeurs éthiques, valeurs politiques, peu importent les épithètes. La valeur n’est ni un objectif, ni une idée, ni une théorie, ni un succès ; elle ne s’enferme pas davantage dans une définition. Ce qui compte, c’est son dynamisme interne qui a pouvoir d’entraînement vers... Le vers est moins une destination, encore moins un objectif qu’une fin polarisante susceptible d’une appréciation commune, en tout cas partagée. À l’instar d’un vecteur, il pointe dans une certaine direction qui assure à l’expérience tant individuelle que collective à la fois sens, forme et qualité. Dans la logique de la production, médias et techniques restent assujettis aux objectifs fixés et aux moyens de les atteindre sur la base de faits et de données. Dans la logique de la créativité, médias et techniques vont s’assouplissant, mais même si ceux qui prennent l’initiative font parfois preuve d’un esprit exceptionnellement talentueux, le système ne subit pas de remise en cause. En revanche, dans le cas de la FI 2 – 24 février 2009 – page 24
création, médias et techniques sont détournés de leurs usages par ceux qui sont capables de les libérer et d’abord de se libérer. En ouvrant une brèche dans la clôture positiviste, l’art tente de remettre le système lui-même en cause pour aborder la transcendance, pays d’élection des valeurs. Qui ne se souvient des premiers pas de l’homme sur la Lune, il n’y a pas 20 ans? Qui ne se souvient à la base de Houston du flamboiement des ordinateurs qui alternaient avec les images des astronautes? Notre entrée dans l’espace n’est possible que sous la conduite et avec la coopération de l’ordinateur. C’est lui désormais qui pilote nos initiatives. Un petit pas pour l’homme, un bond de géant pour l’humanité (That’s one small step for man; one giant leap for mankind), disait Amstrong en entrouvrant la porte du cosmos. Au seuil du troisième millénaire, l’humanité se montrerait-elle en mesure de relever le défi par un nouveau bond, qui ne peut être qu’un nouvel appel à sa vocation de créer?
Références [1] cf. Dictionnaires du savoir moderne, La philosophie, CEPL, Paris. [2] Edgar Morin fait largement usage du terme. cf. La Méthode - 3. La connaissance de la connaissance, éd. Seuil, Paris 1986. [3] The Academician, Tokyo, vol. IV, N° 1, Printemps/ été 1986 [4] Du grec axios, valable, et logos, discours, le terme désigne la science des valeurs. La connaissance ne se fonde ni sur les choses en soi, ni sur les faits, mais sur la saisie d’un rapport entre les réalités et les valeurs. D’où l’appréciation, l’évaluation qu’on peut en faire. [5] Le dernier festival Ars Electronica a eu lieu cette année en juin à Linz. Le catalogue, richement documenté, compte plus de 800 pages! [6] cf. Myron W. Krueger, Artificial Reality, Addison-Wesley Publishing Co., University of Connecticut, 1983. En anglais to respond, a une extension plus large que le français répondre; il implique en particuliier l’idée d’une structure accordée dans laquelle les échanges s’accomplissent harmonieusement, en tout cas de façon sensible. n
NB: première publication: 13 novembre 1986 ISSN 1420-7192