[GenABEL-dev] Building OmicABELnoMM without MPI

L.C. Karssen lennart at karssen.org
Fri Oct 24 13:08:57 CEST 2014


Hi Alvaro,

On 24-10-14 11:04, Frank, Alvaro Jesus wrote:
> 2) Write a bit of code using #ifdefs to disable parts that need MPI
> if the libs are not installed (or when the user explicitly runs
> ./configure --disable-mpi, for exmaple).
> 
> This one would be the best in terms of usage for non heavy users and
> it wont be much problem for me to change. I will add the pragmas and
> allow for it to be disabled.

Great!

> 
> But if we want to be consistent with autoconf, I guess when someone
> DOES want to use mpi, there has to be a way for ./configure to detect
> it. The problem is also a way to determine both compilers inside of
> the makefile, there are two different compilations:
> 
> g++ .... and mpicc/mpicxx/mpic++ on top of that there is your
> mentioned MPICH and OpenMPI variations.

I'll have a look and see what is out there on the internet (before
starting building my own stuff :-)).


> 
> The user will have at some point to install the libraries and
> binaries. It is also worth noting that Boost is also required, and my
> system I have to specified manually. How are you handling that
> yourself?

I'll include a test for the Boost libs into configure.ac, I've already
have that for ProbABEL in trunk.

> 
> openblas also requires openmp which is why I ask the user to compile
> it himself with proper settings, which are not present on pckg
> distributed by debian or ubuntu.

I think it is, actually. I can compile and run OAnMM on my Ubuntu system
with the packages from the default repos installed. 'make check' also
seems to work (no errors produced).


> 
> I am concerned about users who have NOTHING installed, not even
> latest gcc's.

In that case they won't have make installed either, I guess. ./configure
will run, but with lots of errors. This is not a real problem, in my
opinion. We should make sure the documentation is clear on the minimum
software requirements: gcc (>= v 4.xx or something for c++11 support),
(GNU) make, LAPACK and some form of OpenBLAS (either the non-optimal
version of the repo's or a self-compiled one).

By the way, did you know that Debian/Ubuntu's package for OpenBLAS
contains instructions on how to compile a package on the user's own
architecture? See /usr/share/doc/libopenblas-base/README.Debian or
http://anonscm.debian.org/cgit/debian-science/packages/openblas.git/tree/debian/README.Debian

I think that most distributions we are targeting with OAnMM will have
packages for these requirements. Maybe some enterprise distros like
RHEL/CentOS/Scientific Linux/Debian will be running a bit behind, but I
don't feel that it's our concern to deal with that. It would really be
beyond our scope. IIRC there are alternative repositories with more
up-to-date version of tools like gcc.


Best,

Lenart.

> 
> -Alvaro
> 
> ________________________________________ From:
> genabel-devel-bounces at lists.r-forge.r-project.org
> [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C.
> Karssen [l.c.karssen at polyomica.com] Sent: Friday, October 24, 2014
> 10:55 AM To: GenABEL Development list Subject: [GenABEL-dev] Building
> OmicABELnoMM without MPI
> 
> Hi Alvaro,
> 
> Here's a follow-up to my previous question about OpenMPI vs MICH:
> 
> It turns out that if I don't have any MPI library installed,
> ./configure prints the following output:
> 
> checking for mpic++... no checking for mpicxx... no
> 
> but it continues. However, make subsequently fails:
> 
> src/Definitions.h:31:17: fatal error: mpi.h: No such file or
> directory #include <mpi.h>
> 
> 
> I think there are two solutions:
> 
> 1) Make MPI libraries a requirement for OAnMM: so ./configure should 
> abort with an error if AC_PROG_CXX([mpic++ mpicxx]) fails.
> 
> 2) Write a bit of code using #ifdefs to disable parts that need MPI
> if the libs are not installed (or when the user explicitly runs
> ./configure --disable-mpi, for exmaple).
> 
> 
> I'd say the first one is rather drastic, the second one being nicer
> to the user. However, I didn't look into the code base to see whether
> it is possible to selectively disable MPI use.
> 
> What do you think?
> 
> 
> Best,
> 
> Lennart.
> 
> 
> -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Lennart C.
> Karssen PolyOmica Groningen The Netherlands
> 
> l.c.karssen at polyomica.com GPG key ID: 1A15AF2A 
> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
> 
> _______________________________________________ genabel-devel mailing
> list genabel-devel at lists.r-forge.r-project.org 
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel
>
> 
-- 
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
L.C. Karssen
Utrecht
The Netherlands

lennart at karssen.org
http://blog.karssen.org
GPG key ID: A88F554A
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 213 bytes
Desc: OpenPGP digital signature
URL: <http://lists.r-forge.r-project.org/pipermail/genabel-devel/attachments/20141024/3cd66221/attachment.sig>


More information about the genabel-devel mailing list