Discussion:
[OMPI users] "undefined reference to `MPI_Comm_create_group'" error message when using Open MPI 1.6.2
Arham Amouie via users
2017-06-08 09:58:00 UTC
Permalink
Hello. Open MPI 1.6.2 is installed on the cluster I'm using. At the moment I can't upgrade Open MPI on the computing nodes of this system. My C code contains many calls to MPI functions. When I try to 'make' this code on the cluster, the only error that I get is "undefined reference to `MPI_Comm_create_group'".

I'm able to install a newer version (like 2.1.1) of Open MPI only on the frontend of this cluster. Using newer version, the code is compiled and linked successfully. But in this case I face problem in running the program, since the newer version of Open MPI is not installed on the computing nodes.

Is there any way that I can compile and link the code using Open MPI 1.6.2?

Thanks,
Arham Amouei
Gilles Gouaillardet
2017-06-08 10:11:17 UTC
Permalink
MPI_Comm_create_group was not available in Open MPI v1.6.
so unless you are willing to create your own subroutine in your
application, you'd rather upgrade to Open MPI v2

i recomment you configure Open MPI with
--disable-dlopen --prefix=<a shared filesystem available on frontend
and compute nodes>

unless you plan to scale on thousands of nodes, you should be just
fine with that.

Cheers,

Gilles


On Thu, Jun 8, 2017 at 6:58 PM, Arham Amouie via users
Post by Arham Amouie via users
Hello. Open MPI 1.6.2 is installed on the cluster I'm using. At the moment I
can't upgrade Open MPI on the computing nodes of this system. My C code
contains many calls to MPI functions. When I try to 'make' this code on the
cluster, the only error that I get is "undefined reference to
`MPI_Comm_create_group'".
I'm able to install a newer version (like 2.1.1) of Open MPI only on the
frontend of this cluster. Using newer version, the code is compiled and
linked successfully. But in this case I face problem in running the program,
since the newer version of Open MPI is not installed on the computing nodes.
Is there any way that I can compile and link the code using Open MPI 1.6.2?
Thanks,
Arham Amouei
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
Arham Amouie via users
2017-06-09 12:50:55 UTC
Permalink
Thank you very much. Could you please answer another somewhat related question? I'd like to know if ORTE could be linked statically like a library in order to have a completely stand-alone executable file. As you may have noticed I don't have a good knowledge of how Open MPI works.
Thanks in advance,
Arham

From: Gilles Gouaillardet <***@gmail.com>
To: Arham Amouie <***@yahoo.com>; Open MPI Users <***@lists.open-mpi.org>
Sent: Thursday, June 8, 2017 2:41 PM
Subject: Re: [OMPI users] "undefined reference to `MPI_Comm_create_group'" error message when using Open MPI 1.6.2

MPI_Comm_create_group was not available in Open MPI v1.6.
so unless you are willing to create your own subroutine in your
application, you'd rather upgrade to Open MPI v2

i recomment you configure Open MPI with
--disable-dlopen --prefix=<a shared filesystem available on frontend
and compute nodes>

unless you plan to scale on thousands of nodes, you should be just
fine with that.

Cheers,

Gilles


On Thu, Jun 8, 2017 at 6:58 PM, Arham Amouie via users
Post by Arham Amouie via users
Hello. Open MPI 1.6.2 is installed on the cluster I'm using. At the moment I
can't upgrade Open MPI on the computing nodes of this system. My C code
contains many calls to MPI functions. When I try to 'make' this code on the
cluster, the only error that I get is "undefined reference to
`MPI_Comm_create_group'".
I'm able to install a newer version (like 2.1.1) of Open MPI only on the
frontend of this cluster. Using newer version, the code is compiled and
linked successfully. But in this case I face problem in running the program,
since the newer version of Open MPI is not installed on the computing nodes.
Is there any way that I can compile and link the code using Open MPI 1.6.2?
Thanks,
Arham Amouei
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
r***@open-mpi.org
2017-06-09 13:10:23 UTC
Permalink
Sure - just configure OMPI with “--enable-static --disable-shared”
Post by Arham Amouie via users
Thank you very much. Could you please answer another somewhat related question? I'd like to know if ORTE could be linked statically like a library in order to have a completely stand-alone executable file. As you may have noticed I don't have a good knowledge of how Open MPI works.
Thanks in advance,
Arham
Sent: Thursday, June 8, 2017 2:41 PM
Subject: Re: [OMPI users] "undefined reference to `MPI_Comm_create_group'" error message when using Open MPI 1.6.2
MPI_Comm_create_group was not available in Open MPI v1.6.
so unless you are willing to create your own subroutine in your
application, you'd rather upgrade to Open MPI v2
i recomment you configure Open MPI with
--disable-dlopen --prefix=<a shared filesystem available on frontend
and compute nodes>
unless you plan to scale on thousands of nodes, you should be just
fine with that.
Cheers,
Gilles
On Thu, Jun 8, 2017 at 6:58 PM, Arham Amouie via users
Post by Arham Amouie via users
Hello. Open MPI 1.6.2 is installed on the cluster I'm using. At the moment I
can't upgrade Open MPI on the computing nodes of this system. My C code
contains many calls to MPI functions. When I try to 'make' this code on the
cluster, the only error that I get is "undefined reference to
`MPI_Comm_create_group'".
I'm able to install a newer version (like 2.1.1) of Open MPI only on the
frontend of this cluster. Using newer version, the code is compiled and
linked successfully. But in this case I face problem in running the program,
since the newer version of Open MPI is not installed on the computing nodes.
Is there any way that I can compile and link the code using Open MPI 1.6.2?
Thanks,
Arham Amouei
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users <https://rfd.newmexicoconsortium.org/mailman/listinfo/users>
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
Arham Amouie via users
2017-06-09 15:55:07 UTC
Permalink
Hi. I had tried this. It still looks for ORTE file(s) on the hard disks of compute nodes.

Now I know that I can install Open MPI in a shared directory. But is it possible to make executable files that don't look for any Open MPI's files on disk?
Arham


From: "***@open-mpi.org" <***@open-mpi.org>
To: Arham Amouie <***@yahoo.com>; Open MPI Users <***@lists.open-mpi.org>
Sent: Friday, June 9, 2017 5:40 PM
Subject: Re: [OMPI users] "undefined reference to `MPI_Comm_create_group'" error message when using Open MPI 1.6.2

Sure - just configure OMPI with “--enable-static --disable-shared”

On Jun 9, 2017, at 5:50 AM, Arham Amouie via users <***@lists.open-mpi.org> wrote:
Thank you very much. Could you please answer another somewhat related question? I'd like to know if ORTE could be linked statically like a library in order to have a completely stand-alone executable file. As you may have noticed I don't have a good knowledge of how Open MPI works.
Thanks in advance,
Arham

From: Gilles Gouaillardet <***@gmail.com>
To: Arham Amouie <***@yahoo.com>; Open MPI Users <***@lists.open-mpi.org>
Sent: Thursday, June 8, 2017 2:41 PM
Subject: Re: [OMPI users] "undefined reference to `MPI_Comm_create_group'" error message when using Open MPI 1.6.2

MPI_Comm_create_group was not available in Open MPI v1.6.
so unless you are willing to create your own subroutine in your
application, you'd rather upgrade to Open MPI v2

i recomment you configure Open MPI with
--disable-dlopen --prefix=<a shared filesystem available on frontend
and compute nodes>

unless you plan to scale on thousands of nodes, you should be just
fine with that.

Cheers,

Gilles


On Thu, Jun 8, 2017 at 6:58 PM, Arham Amouie via users
Post by Arham Amouie via users
Hello. Open MPI 1.6.2 is installed on the cluster I'm using. At the moment I
can't upgrade Open MPI on the computing nodes of this system. My C code
contains many calls to MPI functions. When I try to 'make' this code on the
cluster, the only error that I get is "undefined reference to
`MPI_Comm_create_group'".
I'm able to install a newer version (like 2.1.1) of Open MPI only on the
frontend of this cluster. Using newer version, the code is compiled and
linked successfully. But in this case I face problem in running the program,
since the newer version of Open MPI is not installed on the computing nodes.
Is there any way that I can compile and link the code using Open MPI 1.6.2?
Thanks,
Arham Amouei
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
_______________________________________________
users mailing list
***@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
r***@open-mpi.org
2017-06-09 15:58:09 UTC
Permalink
Well, of course it still needs to execute the orteds on those nodes - but that wasn’t what you asked. One way or another, the orteds must be available on the compute nodes.
Post by Arham Amouie via users
Hi. I had tried this. It still looks for ORTE file(s) on the hard disks of compute nodes.
Now I know that I can install Open MPI in a shared directory. But is it possible to make executable files that don't look for any Open MPI's files on disk?
Arham
Sent: Friday, June 9, 2017 5:40 PM
Subject: Re: [OMPI users] "undefined reference to `MPI_Comm_create_group'" error message when using Open MPI 1.6.2
Sure - just configure OMPI with “--enable-static --disable-shared”
Post by Arham Amouie via users
Thank you very much. Could you please answer another somewhat related question? I'd like to know if ORTE could be linked statically like a library in order to have a completely stand-alone executable file. As you may have noticed I don't have a good knowledge of how Open MPI works.
Thanks in advance,
Arham
Sent: Thursday, June 8, 2017 2:41 PM
Subject: Re: [OMPI users] "undefined reference to `MPI_Comm_create_group'" error message when using Open MPI 1.6.2
MPI_Comm_create_group was not available in Open MPI v1.6.
so unless you are willing to create your own subroutine in your
application, you'd rather upgrade to Open MPI v2
i recomment you configure Open MPI with
--disable-dlopen --prefix=<a shared filesystem available on frontend
and compute nodes>
unless you plan to scale on thousands of nodes, you should be just
fine with that.
Cheers,
Gilles
On Thu, Jun 8, 2017 at 6:58 PM, Arham Amouie via users
Post by Arham Amouie via users
Hello. Open MPI 1.6.2 is installed on the cluster I'm using. At the moment I
can't upgrade Open MPI on the computing nodes of this system. My C code
contains many calls to MPI functions. When I try to 'make' this code on the
cluster, the only error that I get is "undefined reference to
`MPI_Comm_create_group'".
I'm able to install a newer version (like 2.1.1) of Open MPI only on the
frontend of this cluster. Using newer version, the code is compiled and
linked successfully. But in this case I face problem in running the program,
since the newer version of Open MPI is not installed on the computing nodes.
Is there any way that I can compile and link the code using Open MPI 1.6.2?
Thanks,
Arham Amouei
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users <https://rfd.newmexicoconsortium.org/mailman/listinfo/users>
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
Nathan Hjelm
2017-06-08 14:58:48 UTC
Permalink
MPI_Comm_create_groups is an MPI-3.0+ function. 1.6.x is MPI-2.1. You can use the macros MPI_VERSION and MPI_SUBVERSION to check the MPI version.

You will have to modify your code if you want it to work with older versions of Open MPI.

-Nathan

On Jun 08, 2017, at 03:59 AM, Arham Amouie via users <***@lists.open-mpi.org> wrote:

Hello. Open MPI 1.6.2 is installed on the cluster I'm using. At the moment I can't upgrade Open MPI on the computing nodes of this system. My C code contains many calls to MPI functions. When I try to 'make' this code on the cluster, the only error that I get is "undefined reference to `MPI_Comm_create_group'".

I'm able to install a newer version (like 2.1.1) of Open MPI only on the frontend of this cluster. Using newer version, the code is compiled and linked successfully. But in this case I face problem in running the program, since the newer version of Open MPI is not installed on the computing nodes.

Is there any way that I can compile and link the code using Open MPI 1.6.2?

Thanks,
Arham Amouei
Jeff Hammond
2017-06-08 18:28:47 UTC
Permalink
"I can't upgrade Open MPI on the computing nodes of this system" is false.
Open-MPI can be installed entirely in userspace in your home directory.

If you read the MPI_Comm_create_group paper, there should be instructions
on how to implement this using MPI-2 features. Jim Dinan wrote a working
version but I don't know where it is now.

Jeff

On Thu, Jun 8, 2017 at 2:59 AM Arham Amouie via users <
Post by Arham Amouie via users
Hello. Open MPI 1.6.2 is installed on the cluster I'm using. At the moment
I can't upgrade Open MPI on the computing nodes of this system. My C code
contains many calls to MPI functions. When I try to 'make' this code on the
cluster, the only error that I get is "undefined reference to
`MPI_Comm_create_group'".
I'm able to install a newer version (like 2.1.1) of Open MPI only on the
frontend of this cluster. Using newer version, the code is compiled and
linked successfully. But in this case I face problem in running the
program, since the newer version of Open MPI is not installed on the
computing nodes.
Is there any way that I can compile and link the code using Open MPI 1.6.2?
Thanks,
Arham Amouei
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
--
Jeff Hammond
***@gmail.com
http://jeffhammond.github.io/
Loading...