Thanks for your suggestions. We'll consider what we can do here;
meanwhile, just a couple of suggestions.
1. OpenMPI. Personally, we do not like OpenMPI.
It is not very robust, nor it is performing very fast.
If the cluster you are using is based on Infiniband interconnect
with OFED stack, I'd suggest you to try mvapich instead.
Another alternative is to use recent versions of Intel MPI.
2. MP4. Our current 32-bit code is limited by approximately 490 MW
of RAM, even with dynamically linked versions. If you cannot access
this amount, try to limit stack size, e.g.: ulimit -s 4096
As to MP4, we know how to reduce memory requirements up to two times.
However, I'm not sure this feature will be available in Firefly 8.0.0 release.
On Thu Jun 30 '11 10:45pm, Thomas wrote
>I would like to propose two additional improvements for a next version of Firefly.
>Firstly, I think that one nice improvement would be to include support for 64-bit MPI implementations. In my case, the cluster that I run calculations on has a 64-bit Linux distribution as the operating system. 32-bit MPI implementations like OpenMPI don't run very well on this OS, causing Firefly to behave strangely and frequently causing it to crash. I realize that it might sound a bit selfish to ask for an improvement which solves my very specific problem, but with 64-bit computing becoming more and more popular I believe that many people will benefit here, if not today then certainly in the near future. I have no idea though if such an improvment can be accomplished easily, considering that the current version of Firefly is mostly 32-bit code.
>Then, secondly, I think that a big improvement would be if Firefly could handle a larger maximum amount of memory. I found that, for example, with MP4 calculations the memory limit can be very constraining (whereas the CPUs and I/O of the computing system are sufficiently fast), causing the program to need many passes in each step of the MP4 calculation process. Again, I don't know if this can be accomplished easily since the memory limit stems from Firefly being mainly a 32-bit program. (Maybe the 32-bit limit can be worked around by dividing the memory requested across multiple instances of Firefly running in parallel? As in: 4 instances of Firefly, each with a 2 GB limit = 8 GB? Just a thought.)