r3 - 12 Mar 2008 - 04:08:12 - EricBohmYou are here: CharmWiki >  Main Web > CharmUser > Perl
-- HarryFerguson - 11 Mar 2008

My Current question is how one would Execute a Perl script through charm++. I have tried using the system call but it does not work if myrinet is the active communcation link.

-- EricBohm - 11 Mar 2008

There is no inherent prohibition in Charm++ preventing the execution of Perl, or any other script via a system call. Sadly, both infiniband and myrinet interconnects have serious problems with programs which make system() calls (essentially anything based on fork() ) after their driver is put into play.

Possible workarounds:

  • use ethernet. System calls present no trouble in the baseline net-linux or net-linux-amd64 layers. If you are willing to pay the increased latency cost of ethernet, this should work without trouble.
  • Add an embedded interpreter to your program and execute your script using that.
  • Wrap some IPC around a version of your script which resides in a separate process which you can interact with via IPC from charm.

 
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | More topic actions

tip TWiki Tip of the Day
SlideShowPlugin for presentations
Use the SlideShowPlugin to convert a topic with headings and bullets into a slideshow presentation. This ... Read on Read more

 
Powered by CharmWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding CharmWiki? Send feedback