Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configury: disable f08 fortran bindings if the compiler does #315

Merged
merged 1 commit into from
Dec 17, 2014

Conversation

ggouaillardet
Copy link
Contributor

not implement TS 29113

Per http://www.open-mpi.org/community/lists/users/2014/12/25963.php sunstudio compiler 12.4 fail compiling Open MPI (f08 bindings).

The root cause is these compilers do not implement TS 29113 subclause 8.1 :
Removed restrictions on ISO_C_BINDING module procedures

This PR disables f08 fortran bindings support if TS 29113 8.1 is not implemented.

@jsquyres could you please review this ?

@mellanox-github
Copy link

Refer to this link for build results (access rights to CI server needed):
http://bgate.mellanox.com/jenkins/job/gh-ompi-master-pr/146/
Test PASSed.

@jsquyres
Copy link
Member

I wouldn't call this "check for TS29113", because TS29113 contains a bunch of stuff. How about renaming to CHECK_C_FUNCLOC?

@jsquyres
Copy link
Member

Also: the results of whether the compiler has C_FUNLOC or not should be added to ompi_info output.

@ggouaillardet
Copy link
Contributor Author

@jsquyres i made the requested changes, rebased and updated the PR.
could you please have an other look ?

as a side note, i kept the same logic used for other checks :

    OMPI_FORTRAN_HAVE_C_FUNLOC=0
    AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \
           $OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1],
          [ # Does the compiler supports c_funloc per
            # TS 29113 subclause 8.1 ?
           OMPI_FORTRAN_CHECK_C_FUNLOC(
               [OMPI_FORTRAN_HAVE_C_FUNLOC=1],
               [OMPI_FORTRAN_HAVE_C_FUNLOC=0
                OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])])

That means that for example, if f08 bindings are not requested,
then OMPI_FORTRAN_CHECK_C_FUNLOC() is not invoked and
ompi_info/oshmem_info will report

           Fort C_FUNLOC: no

even if the compiler is TS29113 subclause 8.1 compliant.

@mellanox-github
Copy link

Refer to this link for build results (access rights to CI server needed):
http://bgate.mellanox.com/jenkins/job/gh-ompi-master-pr/147/
Test PASSed.

@@ -426,6 +428,16 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
[OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=0
OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])])

OMPI_FORTRAN_HAVE_C_FUNLOC=0
AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm quite sure that we're not consistent about this, but @bertwesarg is right: test -a is not portable.

Instead, use AS_IF([test ..blah... && test ...blah... ], ...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I take this back. The rest of ompi_setup_mpi_fortran.m4 uses -a and -o. So go ahead and leave it here.

But let's do another blanket-change commit after this one that changes them all to && and ||.

not support c_funloc with TS 29113 subclause 8.1 aka
removed restrictions on ISO_C_BINDING module procedures.
@ggouaillardet
Copy link
Contributor Author

@jsquyres i added the clause in ompi_info

once this is reviewed, i ll make a PR for v1.8 and rework the config files to use the portable syntax as advised by @bertwesarg

@mellanox-github
Copy link

Refer to this link for build results (access rights to CI server needed):
http://bgate.mellanox.com/jenkins/job/gh-ompi-master-pr/149/

Build Log
last 50 lines

[...truncated 27211 lines...]
1024     1.617381
+ for exe in latency_th bw_th message_rate_th
+ exe_path=/var/lib/jenkins/jobs/gh-ompi-master-pr/workspace/ompi_install1/thread_tests/thread-tests-1.1/latency_th
+ PATH=/var/lib/jenkins/jobs/gh-ompi-master-pr/workspace/ompi_install1/bin:/hpc/local/bin::/usr/local/bin:/bin:/usr/bin:/usr/sbin:/hpc/local/bin:/hpc/local/bin/:/hpc/local/bin/:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/opt/ibutils/bin
+ LD_LIBRARY_PATH=/var/lib/jenkins/jobs/gh-ompi-master-pr/workspace/ompi_install1/lib:
+ mpi_runner 2 /var/lib/jenkins/jobs/gh-ompi-master-pr/workspace/ompi_install1/thread_tests/thread-tests-1.1/latency_th 8
+ local np=2
+ local exe_path=/var/lib/jenkins/jobs/gh-ompi-master-pr/workspace/ompi_install1/thread_tests/thread-tests-1.1/latency_th
+ local exe_args=8
+ local 'common_mca=-bind-to core'
+ local 'mca=-bind-to core'
+ '[' yes == yes ']'
+ timeout -s SIGKILL 3m mpirun -np 2 -bind-to core -mca pml ob1 -mca btl self,tcp /var/lib/jenkins/jobs/gh-ompi-master-pr/workspace/ompi_install1/thread_tests/thread-tests-1.1/latency_th 8
[warn] opal_libevent2021_event_base_loop: reentrant invocation.  Only one event_base_loop can run on each event_base at once.
[warn] opal_libevent2021_event_base_loop: reentrant invocation.  Only one event_base_loop can run on each event_base at once.
Size (bytes)     Time (us)
0    3188.445041
16   3031.081891
32   2998.878765
48   3036.679838
64   2845.556486
80   3053.386622
96   3256.425793
112      3202.195895
128      2898.454602
144      3358.880076
160      2803.447757
176      3118.421501
192      3127.691229
208      3444.813224
224      3064.596897
240      3428.494868
256      3097.619376
320      3153.021333
384      3214.255926
448      3432.620190
512      3365.331718
576      3438.177855
640      2919.005003
704      3455.354729
768      3127.800246
832      3069.038778
896      3176.699664
960      3474.256818
./hpc_tests/jenkins/ompi/ompi_jenkins.sh: line 83: 31388 Killed                  $timeout_exe mpirun -np $np $mca -mca pml ob1 -mca btl self,tcp ${exe_path} ${exe_args}
Build step 'Execute shell' marked build as failure
[BFA] Scanning build for known causes...

[BFA] Done. 0s

Test FAILed.

@jsquyres
Copy link
Member

@miked-mellanox This looks like a false jenkins failure. Do you know why the thread tests were run? The word "thread" is not in the PR title.

@jsquyres jsquyres merged commit 27aec2e into open-mpi:master Dec 17, 2014
@mike-dubman
Copy link
Member

@jsquyres - yep, since it got fixed and merged - i enabled it by default on, was it too soon?

@jsquyres
Copy link
Member

@miked-mellanox I don't know -- this was clearly a false failure, though. So I'm not sure what happened here.

@mike-dubman
Copy link
Member

it fails for me with tcp on clean repo on some benchmarks. currently i disabled tcp in jenkins (canbe re-enabled with "known_issues"

jsquyres pushed a commit to jsquyres/ompi that referenced this pull request Sep 19, 2016
A first cut at a possible solution for the missing requests
dong0321 pushed a commit to dong0321/ompi that referenced this pull request Feb 19, 2020
Fix support for "-x" cmd line option

Also extend it to support wildcards - e.g., "-x foo*" to forward all
envars starting with "foo"

Signed-off-by: Ralph Castain <rhc@pmix.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants