ADIOS to c++14? [Hello C++17] #4784
vicentebolea
started this conversation in
Ideas
Replies: 3 comments 2 replies
-
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Yeay, I agree with moving forward, both in linux versions and to C++17. (And I've usually being on the foot-dragging side on C++ versions, but I think 17 has wins without changing too much. (C++20 may be another story.) |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
@anagainaru @pnorbert what do you think? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
With the release of ADIOS2 2.11.X series and now looking at the next 2.12.X future ADIOS2 release it seems to be the time to start making radical long expected changes.
Bumping our C++ revision is one of those anticipated changes that can greatly benefit the project since: (1) it can make our code more modern, concise, and idiomatic (for future contributors), (2) speedup parts of our code (looking at constexpr, std parallel algorithms, fold expr, ...) and (3) keep the project up to date with C++.
We hesitated to this until now since being ADIOS2 a dependency to a variety of software in the HPC world we had to be extra conservative to allow us keep being compatibility in old/legacy systems. The problem with this is that there was not a set minimum version/os/glibc to support rather than attempting to support systems oldest as possible. Now it seems that the industry considers Centos7 (~2014) to be the oldest system/glibc to support for wider compatibility (as seen in the wheels manylinux2014 image, and in services such as conda-forge).
It seems sensible for us to adopt this standard since it will grant us potential max compatibility and will allows us to switch to C++17 since Centos7 can support up to GCC10 which provides us with almost full support of C++17 features and library (sans a single item) https://www.gnu.org/software/gcc/projects/cxx-status.html.
Looking at our target systems, we will enjoy wide compatibility for OS that were released at least 8 years ago.
What do you think? Do you anticipate this change to cause problems in your application/system?
Note that this will not affect our 2.11.X release series.
Beta Was this translation helpful? Give feedback.
All reactions