scilab 6 hpc ready
TRANSCRIPT
1
Scilab 6HPC ready
June 16th, 2010
Bruno JOFRET & Vincent COUVERTThe Scilab Consortium
2
Scilab 6 in a few words
3
Why Scilab 6?● Single Core Hardware● SSE (1999)● …● SSE5 (2007)
● Numerical Computation● Blas / Lapack (1979)● Scilab (1990)● Matlab 1.0 (1984)● Octave (1994)
4
Why Scilab 6?
5
Why Scilab 6?● Octo Core Hardware● pBlas / cuBlas / ... ● 128 Gb RAM● GPGPU Computing● Heterogeneous Platform
● Numerical Computation● Scilab 6.0 (2011)● Matlab
Parallel Computing ToolBox (2010)● ...
6
Main Changes & Evolutions
7
What is Scilab Kernel?
● Lexer & Parser● Memory Manager● Interpreter
8
Lexer & Parser
Lexer & Parser
● Evolutions● Lexical / Syntaxical analysis
before execution● Language Evolutions
– Cell– Syntax sugar– ...
● Opportunities● Object oriented
9
Interpreter
● Evolutions● High level representation (AST)● Tree Manipulation
● Opportunities● Parallelism detection● Load balancing● GPU computation● Code Generation
Interpreter
10
Memory Manager
● Evolutions● Dynamic allocation● No more internal limitation (OS)● Variable protection
● Opportunities● Namespace● Dedicated architecture● GPU computation
Memory Manager
11
Scilab Kernel Overview
● Lexer & Parser– /* … */– function
end– { 1, 2 }
● Memory Manager– stacksize
● Interpreter– fileinfo(file)(2)
12
Scilab Global Overview
fftw
sparse
umfpack
spec
plot3d
● Functionalities● This will not change● Smooth migration
– SAS– YaSp
xcos
13
Scilab Global Overview
fftw
sparse
umfpack
Scilab 5GW
● Functionalities● This will not change● API Scilab
– Stack Wrapper● External Modules
– ATOMS– Scripts
metanet
APIScilab 5
14
From Users' Point of View?
15
● New datatypes:• int64• uint64
● Datatypes improvements: • Cells• Structs• Lists
Datatypes
16
● select/case/else vs switch/case/otherwise● c(x).entries vs c{x}● function/endfunction vs function/end● Shortcut operators && and ||● Long variable names● Recursive extraction● If 0 then … end vs /* … */
Language Improvements
17
Performances
● Loops● lists/cells/structs insertion and extraction● Large data handling: stacksize obsolete
18
Thanks for your attention
www.scilab.org