[BIOSAL] question about Thorium build options

Boisvert, Sebastien boisvert at anl.gov
Sun Nov 2 11:42:39 CST 2014


> From: George K. Thiruvathukal [gkt at cs.luc.edu]
> Sent: Saturday, November 01, 2014 9:22 PM
> To: Boisvert, Sebastien
> Cc: biosal at lists.cels.anl.gov
> Subject: Re: [BIOSAL] question about Thorium build options
> 
> 
> 
> 
> ​I've mostly figured out how to get things working with CDT but it still doesn't work. I'll keep trying tomorrow (during whatever free cycles I have). Because we depend on mpicc to build the code, however, it makes things much more complicated. You can't rely
>  completely on make, except for the building part. Most of these IDEs still want to know the underlying toolchain. Perhaps I can trick CDT by getting mpicc to show what command it is actually running under the hood.

Actually, mpicc is just a wrapper.

With MPICH:

[seb at localhost biosal]$ mpicc -show
cc -m64 -O2 -fPIC -Wl,-z,noexecstack -I/usr/include/mpich-x86_64 -L/usr/lib64/mpich/lib -Wl,-rpath -Wl,/usr/lib64/mpich/lib -lmpich -lopa -lmpl -lrt -lpthread


With Open-MPI:

[seb at localhost ~]$ mpicc -showme
gcc -I/usr/include/openmpi-x86_64 -pthread -m64 -L/usr/lib64/openmpi/lib -lmpi


You can probably set CC as gcc in CDT and add these CFLAGS to find MPICH or Open-MPI.

> 
> 
> Perhaps we can spend a bit of time discussing this on Wednesday. I personally feel like I (and probably others) would be more productive if we can use modern tools to develop Thorium programs. I'm able to do quite a bit with vim/emacs and friends (and often
>  prefer this once I get more fluent with a code base) but think it would be great if we can support CDT "out of box" so to speak.

Sure.

But I don't know CDT at all.
I use vim for software programming and gvim for email.

> 
> 
> George
> 
> 
> 
> 
> Anyway, I'm going to put this on our agenda for Wednesday. I've spent a substn​
> 
> 
> 
> George K. Thiruvathukal, PhD
> 
> Professor of Computer Science, Loyola University Chicago
> 
> Director, Center for Textual Studies and Digital Humanities
> Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> Editor in Chief, Computing in
>  Science and Engineering (IEEE CS/AIP)
> 
> (w) gkt.tv (v)
>  773.829.4872
> 
> 
> 
> 
> 
> 
> 
> On Sat, Nov 1, 2014 at 8:52 PM, Boisvert, Sebastien 
> <boisvert at anl.gov> wrote:
> 
> > From: 
> biosal-bounces at lists.cels.anl.gov [biosal-bounces at lists.cels.anl.gov] on behalf of George
>  K. Thiruvathukal [gkt at cs.luc.edu]
> > Sent: Saturday, November 01, 2014 5:40 PM
> > To: 
> biosal at lists.cels.anl.gov
> > Subject: [BIOSAL] question about Thorium build options
> >
> >
> >
> >
> > This is probably for Seb.
> >
> >
> > I have a crazy question to ask that probably has an answer of "no", but I'll ask anyway. Is it possible to build Thorium without MPI.
> 
> Right now, this is not possible.
> 
> However, there is a ticket for adding a build option to disable the transport subsystem.
> 
> https://github.com/GeneAssembly/biosal/issues/555 (August 13, 2014)
> 
> > That is, is there a way to compile/run Thorium for use on a standalone system (ok, my Linux box) and have the workers run as
> >  processes and all communication be done using shared memory (or Unix sockets)?
> 
> If you run with mpiexec -n 4 with local processes, Open-MPI uses the BTL vader or sm by default to send messages between processes.
> 
> With MPICH 3.1.1, I think poll() is used, I don't know more about that.
> 
> > As an experiment, I was trying to run make CC=gcc, but I quickly ran into the MPI dependency when trying to build the transport, which presumably is hard-wired into the build process
> >  at the moment.
> 
> Only thorium_node (node.c) knows about the transport. Disabling transport would not be too  complex I think: a couple of idef, and some conditions in the Makefile.mk in
> engine/thorium/.
> 
> >
> >
> > In case you are wondering, I am looking at a couple of C IDEs (notably CodeLite, Eclipse CDT, and NetBeans).
> 
> I did use Eclipse CDT for reviewing some biosal code  and I liked it. You can "Go to definition" and other fancy options like that.
> That's easy.
> 
> > None of these projects does terribly well unless the code can compile directly with gcc, clang, and friends.
> 
> 
> A few years ago, I heard good things about kdevelop.
> 
> On my side, I mostly just use vim.
> 
> > I will be happy to share more details of
> >  why I'm looking into this later, but it seems like a great productivity enabler for Thorium if we can make it possible to work with it within an IDE. (There is also the Eclipse Parallel Tools Project, but I don't want to go down that road until it is absolutely
> >  necessary. It's kind of a heavyweight solution!)
> 
> Right, I think figuring out how to invoke "make" from CDT would solve that.
> 
> 
> >
> >
> > George
> >
> >
> >
> >
> >
> >
> > George K. Thiruvathukal, PhD
> >
> > Professor of Computer Science, Loyola University Chicago
> >
> > Director, Center for Textual Studies and Digital Humanities
> > Guest Faculty, Argonne National Laboratory, Math and Computer Science Division
> > Editor in Chief, Computing in
> >  Science and Engineering (IEEE CS/AIP)
> >
> > (w) 
> gkt.tv (v)
> >  773.829.4872
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> 
> 
> 


More information about the BIOSAL mailing list