[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to use mpirun with C or C++ Org-babel?

From: tbanelwebmin
Subject: Re: How to use mpirun with C or C++ Org-babel?
Date: Fri, 8 Dec 2023 11:36:02 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

On 23-12-08 00:10, Edgar Lux wrote:
Hello, I found [1][2] that it is possible to change the compiler for C and C++ source blocks. I would like to know if there is a way to add =mpirun -np 2= (where 2 can be any other number) to run the resulting executable. Thanks! [1] https://orgmode.org/worg//org-contrib/babel/languages/ob-doc-C.html [2] https://github.com/gheber/literate-hdf5

I guess you want to run the executable after it has been compiled, with a command like this one:

mpirun -np 2 /tmp/babel-ad2pdk/C-bin-JTvjS4

Currently it is not possible.

There is the :cmdline specifier which adds parameters to the executable, like this:

#+begin_src C++ :cmdline AAA BBB CCC
int main (int nargs, char** argv)
   // argv will be {
   //   "/tmp/babel-ad2pdk/C-bin-JTvjS4",
   //   "AAA",
   //   "BBB",
   //   "CCC"
   // }

Those parameters come AFTER the executable, whereas mpirun should come BEFORE the executable.

An extension may be written in ob-C.el, in the org-babel-C-execute function.
The relevant line is:
  (concat tmp-bin-file cmdline)

If you want to contribute...

reply via email to

[Prev in Thread] Current Thread [Next in Thread]