is python the best language to teach parallel programming? #17

Open
psteinb opened this Issue May 18, 2017 · 1 comment

Comments

Projects
None yet
2 participants
Owner

psteinb commented May 18, 2017

the feedback to the course mentioned at some point, that we don't work with threads at all (even though many tools in HPC ask by means on CLI options how many threads are to be used)

the internals of python force the materials to express parallelism through multiple processes (multiprocessing)

Contributor

shwina commented May 22, 2017 edited

is python the best language to teach parallel programming?

IMO, Python is a bad choice for a parallel-programming-in-a-day workshop, but as good a choice as any other (and probably the "best") language for hpc-in-a-day.

If the objective is to get learners started with interacting and using an HPC cluster, and getting them to write and submit their first program which uses multiple cores, multiple nodes, or both, Python is a great choice (via multiprocessing, numba, mpi4py, or other options for parallel programming with Python).

If the objective is more about teaching parallel programming itself, e.g., communication, synchronization, race conditions, etc., a lower level language such as C may be more appropriate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment