[OMPI users] Online presentation: the ABCs of Open MPI

2020-06-14 Thread Jeff Squyres (jsquyres) via users
In conjunction with the EasyBuild community, Ralph Castain (Intel, Open MPI, 
PMIx) and Jeff Squyres (Cisco, Open MPI) will host an online presentation about 
Open MPI on **Wednesday June 24th 2020** at:

- 11am US Eastern time
- 8am US Pacific time
- 3pm UTC
- 5pm CEST

The general scope of the presentation will be to demystify the alphabet soup of 
the Open MPI ecosystem: the user-facing frameworks and components, the 3rd 
party dependencies, etc.  More information, including topics to be covered and 
WebEx connection details, is available at:

  
https://github.com/easybuilders/easybuild/wiki/EasyBuild-Tech-Talks-I:-Open-MPI

The presentation is open for anyone to join.  There is no need to register up 
front, just show up!

The session will be recorded and will be available after the fact.

Please share this information with others who may be interested in attending.

-- 
Jeff Squyres
jsquy...@cisco.com



Re: [OMPI users] The use of __STDC_VERSION__ in mpi.h and C++ (g++ -Wundef)

2020-06-14 Thread Jeff Squyres (jsquyres) via users
Martin --

Someone filed the same issue shortly before your post:

https://github.com/open-mpi/ompi/issues/7810

On Jun 12, 2020, at 6:10 PM, Martin Audet via users 
mailto:users@lists.open-mpi.org>> wrote:

Hello OMPI_Developers,

When I compile my C++ code with Open MPI version 4.0.3 or 4.0.4 (I think that 
4.0.2 and 4.0.1 would have the same problem), I get many of warnings like (1 
per source file):

/work/software/x86_64/openmpi-4.0.4/include/mpi.h:316:16: warning: 
"__STDC_VERSION__" is not defined, evaluates to 0 [-Wundef]

I use g++ 9.3.1 on Fedora 31 Linux with many warnings options enabled (like 
-Wundef to report the use of undefined macros) but I have the same problem on 
CentOS 7.6 with the system compiler.

This problem is caused by the fact that, starting with Open MPI version 4.0.1, 
mpi.h try to use the _Static_assert() macro defined by the C11 language to 
cleanly state that a given symbol is no longer available because it was 
deprecated by the MPI 3.0 standard. To see if it is available, it checks the 
__STDC_VERSION__ macro as follow (mpi.h, line 316):

# elif (__STDC_VERSION__ >= 201112L)

This macro is not defined by the C++ standard (or at least g++ doesn't define 
it) so it would be cleaner if it would be tested only if __cplusplus is not 
defined. Also if __cplusplus is defined and >= 201103L (C++11), the 
static_assert() keyword could be used instead of _Static_assert().

Thanks a lot for looking at how to fix this little annoyance.

Martin Audet


--
Jeff Squyres
jsquy...@cisco.com