| Summary: | Not a fully support for 64bits integers on MPI package | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Andre alfcanova <alfcanova> |
| Component: | RPM Packages | Assignee: | Chris Denice <eatdirt> |
| Status: | RESOLVED WONTFIX | QA Contact: | |
| Severity: | normal | ||
| Priority: | Normal | CC: | nic, sysadmin-bugs |
| Version: | Cauldron | ||
| Target Milestone: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| URL: | http://www.diracprogram.org/doc/release-12/installation/int64/mpi.html | ||
| Whiteboard: | |||
| Source RPM: | openmpi-1.6.3-3.mga3 | CVE: | |
| Status comment: | |||
|
Description
Andre alfcanova
2013-01-27 12:13:17 CET
Manuel Hiebel
2013-01-29 22:24:49 CET
Component:
Release (media or process) =>
RPM Packages Yes, still. I installed openmpi.1.8.4-1.mga5 and ran test ompi_info -a | grep 'integer size' result Fort integer size: 4 which indicates only 32 bit registers enabled. Downloaded tarball openmpi-1.8.4.tar.bz2 and built using ./configure CFLAGS=-m64 CXXFLAGS=-m64 FFLAGS="-m64 -fdefault-integer-8" FCFLAGS="-m64 -fdefault-integer-8" ompi_info -a | grep 'integer size' result Fort integer size: 8 which indicates 64 bit registers enabled I cannot check DIRAC12 compile as I don't have the source. Andre can you try it? Assignee:
bugsquad =>
dirteat Hi there, may someone be specific please ? What do you mean by 64bits is not supported ? This option: -fdefault-integer-8 simply forces fortran declaration: real :: to automatically becomes: double precision :: and has nothing to do with using 32bits of 64bits. If your code needs specific compilation options they may be added as usual after mpif90. Sorry, I meant all these options:
-fdefaut-integer-8 (integer -> integer(8))
-fdefault-real-8 (real -> real(8))
(etc... and also -m64)
I read the webpage of DIRAC program, that does not make any sense to me. You can completely use real(8) or integer(8) in your own code, and pass such numbers through MPI routines calls, without forcing compilation of openmpi at double precision.
For instance, all these types are already supported:
ompi_info -a | grep integer
Fort integer size: 4
Fort have integer1: yes
Fort have integer2: yes
Fort have integer4: yes
Fort have integer8: yes
Fort have integer16: no
Fort have real4: yes
Fort have real8: yes
Fort have real16: yes
Fort real size: 4
Fort real4 size: 4
Fort real8 size: 8
Fort real16 size: 16
Fort real align: 4
Fort real4 align: 4
Fort real8 align: 8
Fort real16 align: 16
So there is no bug in there, I switch to unconfirmed.
cheers,
Chris.Status:
NEW =>
UNCONFIRMED Thanks for looking at it Chris. The only time I have used Fortran was when I studied engineering in the dark ages (1982) so all of this is way above my head. I was just trying to help. Hopefully Andre will get something out of it. Hi all, The bug still in Mageia 5 and Mageia 6 sta1... I suggest include in SPEC file in build section: %build export FFLAGS="-m64 -fdefault-integer-8" export FCFLAGS="-m64 -fdefault-integer-8" export CFLAGS=-m64 export CXXFLAGS=-m64 Status:
UNCONFIRMED =>
ASSIGNED Dear Andre, as I said in my previous comment, could you be more specific on what is your problem? If you need to compile a code with MPI, with integer(kind=8), you just have to append -fdefault-integer-8 to your own compilation flags. As mentioned above, you can have MPI integer messages of any integer size even though MPI is internally compiled with 4 bytes integer (which is the default on 64 bits machines). It does not sound to me a good idea to change the default behaviour of MPI just to ease the compilation of one specific program. Unless you clarify the situation, I suspect your program "DIRAC" is buggy and you should fill a bug report with them. Good luck. Status:
ASSIGNED =>
RESOLVED |