Hi all,
A few more questions about Pigeons. I am trying to use Pigeons on my university's cluster, which uses Slurm.
- I see no performance difference between using threads and not using threads. I have started Julia with 4 threads and am using 4 chains. I didn't expect a four-fold speedup but I expected at least some difference. Perhaps importantly, my problem involves making a closure which contains a large object and a memory-intensive operation, the inverse of a matrix.
log_likelihood = let large_obj = large_obj
input_data -> memory_intensive_function(input_data, large_obj)
end
When should I expect performance improvements from threading? Usually I think of threading as being useful for stuff like speeding up loops and matrix operations, not for operations as complicated as an MCMC. What is pigeons doing when multithreaded is set to true?
- I'm trying to do distributed computing. I am trying, and failing to do
setup_mpi, getting the error
julia> Pigeons.setup_mpi(; submission_system = :slurm)
MPI library could not be found with the following name(s):
["libmpi", "libmpi_ibm", "msmpi", "libmpich", "libmpi_cray", "libmpitrampoline"]
(I have no idea what the MPI library is called on my cluster, but am working on it).
But more generally, why is MPI the only option for distributed computing? What does Pigeons.jl not support distributed programming using the Distributed library? I don't think I could expect users of my package to configure MPI in order to take advantage of parallelization.
Thank you,
Peter
Hi all,
A few more questions about Pigeons. I am trying to use Pigeons on my university's cluster, which uses Slurm.
When should I expect performance improvements from threading? Usually I think of threading as being useful for stuff like speeding up loops and matrix operations, not for operations as complicated as an MCMC. What is pigeons doing when
multithreadedis set totrue?setup_mpi, getting the error(I have no idea what the MPI library is called on my cluster, but am working on it).
But more generally, why is MPI the only option for distributed computing? What does Pigeons.jl not support distributed programming using the Distributed library? I don't think I could expect users of my package to configure MPI in order to take advantage of parallelization.
Thank you,
Peter