- #1
SevenThunders
- 6
- 1
I have a simulation that involves a lot of dense linear algebra with a lot of complex arrays, that was written in python's numpy and then sped up with cython. Unfortunately I'm stuck with python's GIL (global interpreter lock), which prevents the use of numpy with multi-threaded code.
I'm looking at rewriting sizable chunks of this code into C, or C++ or Fortran. Fortran is actually looking pretty good right now given it's built in array support and support for parallel operations. The newer compilers support array slicing, operator overloading and even classes.
The global mindset in the computer science world is that Fortran is a dead language and that we should all be programming in Java or C++, or the latest toy language. However it's looking mighty attractive to me right now for the kind of high performance computing I need. So someone please talk me out of it LOL.
One thing though that surprised me is that I have not found any higher level wrappers that are maintained for lapack and blas operations in Fortran. These things abound in C++ and in many scripting languages.
I'm looking at rewriting sizable chunks of this code into C, or C++ or Fortran. Fortran is actually looking pretty good right now given it's built in array support and support for parallel operations. The newer compilers support array slicing, operator overloading and even classes.
The global mindset in the computer science world is that Fortran is a dead language and that we should all be programming in Java or C++, or the latest toy language. However it's looking mighty attractive to me right now for the kind of high performance computing I need. So someone please talk me out of it LOL.
One thing though that surprised me is that I have not found any higher level wrappers that are maintained for lapack and blas operations in Fortran. These things abound in C++ and in many scripting languages.
Last edited by a moderator: