Download - Scilab 6 HPC ready
![Page 1: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/1.jpg)
1
Scilab 6HPC ready
June 16th, 2010
Bruno JOFRET & Vincent COUVERTThe Scilab Consortium
![Page 2: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/2.jpg)
2
Scilab 6 in a few words
![Page 3: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/3.jpg)
3
Why Scilab 6?● Single Core Hardware● SSE (1999)● …● SSE5 (2007)
● Numerical Computation● Blas / Lapack (1979)● Scilab (1990)● Matlab 1.0 (1984)● Octave (1994)
![Page 4: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/4.jpg)
4
Why Scilab 6?
![Page 5: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/5.jpg)
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)● ...
![Page 6: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/6.jpg)
6
Main Changes & Evolutions
![Page 7: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/7.jpg)
7
What is Scilab Kernel?
● Lexer & Parser● Memory Manager● Interpreter
![Page 8: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/8.jpg)
8
Lexer & Parser
Lexer & Parser
● Evolutions● Lexical / Syntaxical analysis
before execution● Language Evolutions
– Cell– Syntax sugar– ...
● Opportunities● Object oriented
![Page 9: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/9.jpg)
9
Interpreter
● Evolutions● High level representation (AST)● Tree Manipulation
● Opportunities● Parallelism detection● Load balancing● GPU computation● Code Generation
Interpreter
![Page 10: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/10.jpg)
10
Memory Manager
● Evolutions● Dynamic allocation● No more internal limitation (OS)● Variable protection
● Opportunities● Namespace● Dedicated architecture● GPU computation
Memory Manager
![Page 11: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/11.jpg)
11
Scilab Kernel Overview
● Lexer & Parser– /* … */– function
end– { 1, 2 }
● Memory Manager– stacksize
● Interpreter– fileinfo(file)(2)
![Page 12: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/12.jpg)
12
Scilab Global Overview
fftw
sparse
umfpack
spec
plot3d
● Functionalities● This will not change● Smooth migration
– SAS– YaSp
xcos
![Page 13: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/13.jpg)
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
![Page 14: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/14.jpg)
14
From Users' Point of View?
![Page 15: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/15.jpg)
15
● New datatypes:• int64• uint64
● Datatypes improvements: • Cells• Structs• Lists
Datatypes
![Page 16: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/16.jpg)
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
![Page 17: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/17.jpg)
17
Performances
● Loops● lists/cells/structs insertion and extraction● Large data handling: stacksize obsolete
![Page 18: Scilab 6 HPC ready](https://reader035.vdocuments.us/reader035/viewer/2022071601/613d49d2736caf36b75b8e5c/html5/thumbnails/18.jpg)
18
Thanks for your attention
www.scilab.org