EuroPython 2016

Parallel Programming Constructs and Techniques Using an Embedded Flexible Language (EFL) for Python

Speaker(s) Moshe Goldstein

Parallel Programming Constructs and Techniques Using an Embedded Flexible Language (EFL) for Python

M. Goldstein , D. Dayan, D. Berlowitz, O. Berlowitz, Max Rabin, M. Nagar, D. Soudry, R. B. Yehezkael

Multi-core CPUs are abundant and utilizing them effectively requires programmers to parallelize CPU-intensive code. To facilitate this, we have developed EFL, a deterministic parallel programming tool. The parallel parts of a program are written as EFL-blocks, which are embedded into a sequential host language program. The sequential parts of the program are written in the host language, outside the EFL blocks.
An EFL pre-compiler translates EFL blocks into parallel Python code. EFL may be embedded in any host language by writing an appropriate pre-compiler. The EFL pre-compiler is being developed for other host programming languages (C++, Java, C#, Fortran, etc) as well as for other parallel platforms (DTM/MPI4PY, etc. ). Here we present the parallel programming constructs of EFL, such as parallel assignments, parallel for-loops, etc., and some examples of using EFL to implement Parallel Programming Design Patterns.


Do you have some questions on this talk?

New comment