250 likes | 454 Views
Analisi ed ottimizzazione di strumenti Software per l'utilizzo di IDL sulla GRID ENEA S.PI.1.2 Strumenti per la grafica. Marta Chinnici Portici, 11 Dicembre 2007. ENEA-CRESCO. Che cos’é IDL (Interactive Data Language ). Linguaggio di programmazione sviluppato dalla Research Systems Inc;
E N D
Analisi ed ottimizzazione di strumenti Software per l'utilizzo di IDL sulla GRID ENEAS.PI.1.2 Strumenti per la grafica Marta Chinnici Portici, 11 Dicembre 2007 ENEA-CRESCO
Che cos’é IDL (Interactive Data Language) • Linguaggio di programmazione sviluppato dalla Research Systems Inc; • Orientato all’analisi di data-set uni-bi o multi-dimensionali; • Linguaggio di programmazione ad alto livello (facilmente comprensibile) che consente sia l’analisi che la visualizzazione grafica dei dati o delle elaborazioni; • Linguaggio array-oriented, particolarmente efficace nell’analisi di strutture di dati come le matrici bi o tridimensionali (immagini mediche o telerilevate).
Ambiente di sviluppo di IDL: IDLDE IDL è un linguaggio interpretato, quindi il programma sorgente scritto in IDL viene eseguito un’istruzione alla volta, da un interprete • l’interprete di IDL è inserito in un ambiente di sviluppo denominato IDLDE (IDL Development Environment) IDLDE è una semplice interfaccia grafica che presenta strumenti utili per l’editing e per il debugging di programmi IDL. L’ambiente di sviluppo è composto dal menu di comando, da alcune toolbars e da differenti finestre.
La programmazione in IDL • Il programma viene salvato in un file, con estensione .pro, e quando il programma viene lanciato IDL esegue in sequenza le istruzioni in esso contenute ES:mio_programma.pro • La programmazione viene eseguita nella finestra di editing di IDLDE. • Una routine IDL(files .pro) può essere eseguita in modalità interattiva attraverso l'interfaccia grafica Idlde, oppure direttamente da linea di comando digitando il nome (con o senza interfaccia grafica).
Compilare ed eseguire un programmaIDL da linea di comando terminal idlde
IDL da linea di comando terminal (idl, senza interfaccia grafica)
IDL in modalità batch (.sav) • Una routine IDL per essere eseguita in modalità batch, deve preliminarmente essere convertita in un file.sav (in binario) e opportunamente salvata all' interno di IDL • Compilare il programma, assieme a tutte le routines associate (COMPILE_ALL) • Salvarlo come file binario: save, filename = ‘mio_programma.sav' , /ROUTINE • Comando per eseguire il programma : • -rt = ‘mio_programma.sav’
Gestione delle variabili in modalità batch • Lanciare il comando idl_setup residente nella directory bin di IDL: questo apre una shell “figlia”, all' interno della principale, in ambiente IDL (laddove idlde è invece l'eseguibile per lanciare IDL in modalità interattiva) • Una volta dentro la shell di IDL, impostiamo come variabili d'ambiente ( SETENV ) le variabili che la routine IDL dovrà utilizzare setenv VAR_A $1 setenv VAR_B $2 • La routine IDL legge le variabili tramite GETENV var_idl1 = GETENV('VAR_A') var_idl2 = GETENV('VAR_B')
IDL e l’interfaccia LSF • batch files IDL attraverso LSF lanciare e gestire un job IDL attraverso LSF • IDL in parallelo attraverso LSF lanciare in modalità parallela (in contemporanea su più macchine) un job IDL attraverso l' interfaccia LSF.
Eseguire un'applicazione IDL attraverso l'interfaccia LSF • Se l' applicazione non prevede variabili input runtime, può essere lanciata dall' interfaccia LSF con un semplice
IDL per FTU Elaborazione delle immagini provenienti dalle telecamere di FTU attraverso un’interfaccia di IDL • FTU è un tokamak ad elevato campo magnetico, sviluppato a Frascati http://ftu.frascati.enea.it/
Analisi in itinere • Realizzazione dei tools relativi alle applicazioni IDL realizzate in ENEA • Database • Brightzone • Volume rendering • Controllo delle code multicluster per il lancio dei programmi IDL (modalità multicase) marta.chinnici@portici.enea.it http://www.cresco.enea.it/LA1/cresco_sp12_graf3d/