Implementing parallel fluids code in Julia (parallel FFTW, MPI.jl, ...)

The Cluster Managers with custom transports section in the Julia documentation has a little information on creating custom transport layers for Julia’s native distributed memory parallelism. There’s an example in the Julia distribution of an implementation using the zmq library. I’ve had a thorough look through the internet for an infiniband implementation but haven’t been able to find one. I looked into doing it myself and it looks like a lot of work. However, I know very little about networking so maybe it wouldn’t be so bad for an expert.

On a personal note, I’ve found Julia’s native parallel programming constructs to work great for very coarse grained embarrassingly parallel calculations. I’d love to see some examples of pure Julia implementations of algorithms with more complex communication patterns. Coming from an MPI programming background the Julia constructs seem quite awkward for this but it could well be that I’m just missing something—I should really try to get a deeper understanding of channels and RemoteChannels.

1 Like