Julia Parallel Acceleration for Large-Scale Computing

General context:

I developed a fairly large Navier-Stokes (finite difference) algorithm written in FORTRAN90. It has adaptive meshes (hence the load balance problem), and I tried various methods (MPI, OpenMP and OpenMP-MPI hyrbid) to parallelize it. However, it does not scale well, that is, according to Amdahl’s law, it performs 96-97% of calculations in parallel. In addition, the total mesh size is a couple of hundred million points, which will require an increase in the future.

Query:

Now I’m thinking of switching to Julia, since it has become very tedious to maintain and add additional functionality to existing code.

The problem is that I cannot find a good answer about Julia's parallel work. I searched the web and also watched a lot of videos on YouTube. I noticed that most people say that Julia is very suitable for parallel computing, some even provide a diagram showing the reduction in time elapsed compared to the serial code. However, some of the answers / videos are quite old, which makes them a little unreliable due to the growing nature of this new language.

So I would like to know if a language can scale even for several thousand cores?

Additional Information:

, . 3-4 . , . 20 .

- , InfiniBand .

+4
1

pde , , : https://arxiv.org/abs/1606.07399. , .

Re infiniband: Julia node TCP/IP , infiniband . , , , - infiniband - , - google.

+1

Source: https://habr.com/ru/post/1659651/


All Articles