scilab 6 hpc ready

18
1 Scilab 6 HPC ready June 16 th , 2010 Bruno JOFRET & Vincent COUVERT The Scilab Consortium

Upload: others

Post on 12-Sep-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scilab 6 HPC ready

1

Scilab 6HPC ready

June 16th, 2010

Bruno JOFRET & Vincent COUVERTThe Scilab Consortium

Page 2: Scilab 6 HPC ready

2

Scilab 6 in a few words

Page 3: Scilab 6 HPC ready

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

4

Why Scilab 6?

Page 5: Scilab 6 HPC ready

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

6

Main Changes & Evolutions

Page 7: Scilab 6 HPC ready

7

What is Scilab Kernel?

● Lexer & Parser● Memory Manager● Interpreter

Page 8: Scilab 6 HPC ready

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

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

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

11

Scilab Kernel Overview

● Lexer & Parser– /* … */– function

end– { 1, 2 }

● Memory Manager– stacksize

● Interpreter– fileinfo(file)(2)

Page 12: Scilab 6 HPC ready

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

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

14

From Users' Point of View?

Page 15: Scilab 6 HPC ready

15

● New datatypes:• int64• uint64

● Datatypes improvements: • Cells• Structs• Lists

Datatypes

Page 16: Scilab 6 HPC ready

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

17

Performances

● Loops● lists/cells/structs insertion and extraction● Large data handling: stacksize obsolete

Page 18: Scilab 6 HPC ready

18

Thanks for your attention

www.scilab.org