Skip to Content.
Sympa Menu

charm - Re: [charm] Parallel I/O

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] Parallel I/O


Chronological Thread 
  • From: Filippo Gioachin <gioachin AT uiuc.edu>
  • To: Daniel Langr <langrd AT fel.cvut.cz>
  • Cc: charm AT cs.uiuc.edu
  • Subject: Re: [charm] Parallel I/O
  • Date: Thu, 12 Aug 2010 14:10:53 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

 As you said, if you build Charm++ using MPI as underlying communication layer, than you should be able to call MPI-I/O without problems. Otherwise, I am not sure if you can. Maybe someone else has a solution to this, and can reply to this email.
Charm++ can compile on top of MPI on any machine that provides MPI. The main disadvantage is performance, as the native layers such as UDP/Myrinet or LAPI have better performance than the MPI one.
Filippo

On Thu, Aug 12, 2010 at 08:18, Daniel Langr <langrd AT fel.cvut.cz> wrote:
Dear Filippo,

thank you much for your answer. But still I don't know how to combine Charm++ with pHDF5 which uses MPI-I/O. According to README file, Charm++ can use different communication platforms, e.g. MPI, UDP, UDP/Myrinet etc. If I there is a Charm++ runtime environment available that uses e.g. UDP/Myrinet, how can I call MPI-I/O routines from my Charm++ program? I might compile such program with charmc command  linking with MPI library using -lmpi option, but then how would I run such program? I would need to combine charmrun and mpirun commands into one. And where should I call MPI initializatoin routines?

If I build my own Charm++ version, I can do this using MPI communicator, then I suppose I can use all MPI routines with charmc and charmrun command. But I also need to use Charm++ runtimes already installed on different supercomputers, so I would like to make my program as portable as possible. For example, we suppose to run our program on Blue Waters platform in the future and I don't know if Charm++ will be build over MPI there.

Regards,
Daniel




Dne 10.8.2010 20:06, Filippo Gioachin napsal(a):
Dear Daniel,

You can certainly exploit the speed of parallel file systems. While in Charm++ there is no direct support for parallel I/O, each processor can perform I/O operations, therefore spreading the reading or writing operations over multiple streams. You can for example use a chare group (or nodegroup) to open exactly one connection per processor. You will have to compute yourself what each object is reading in or writing out.

Regards,
Filippo

On Fri, Aug 6, 2010 at 04:54, Daniel Langr <langrd AT fel.cvut.cz> wrote:
What are the possibilities of using parallel I/O in Charm++ program? Can I exploit parallel file systems? Can I use pHDF5 format or MPI-IO routines? I have only find checkpointing abilities of Charm++ in manual, but no mention of general parallel I/O capabilities, such as reading input data (e.g. large sparse matrices) and writing output results.

Regards,
Daniel


_______________________________________________
charm mailing list
charm AT cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/charm




--
Filippo Gioachin
PhD Candidate
Department of Computer Science
University of Illinois at Urbana-Champaign
Ph: +1-217-333-4764



--
Filippo Gioachin
PhD Candidate
Department of Computer Science
University of Illinois at Urbana-Champaign
Ph: +1-217-333-4764



Archive powered by MHonArc 2.6.16.

Top of Page