You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2020/04/04 01:01:33 UTC

[GitHub] [incubator-mxnet] leezu opened a new issue #17968: [RFC] Raising the toolchain requirements for MXNet 2

leezu opened a new issue #17968: [RFC] Raising the toolchain requirements for MXNet 2
URL: https://github.com/apache/incubator-mxnet/issues/17968
 
 
   ## Description
   I propose to raise our toolchain requirements for the MXNet 2 development branch to require at minimum gcc7 or clang6 on Unix systems and MSVC 2019 on Windows system. All 3 have [reasonable complete C++17 support](https://en.cppreference.com/w/cpp/compiler_support#cpp17) and MSVC 2019 fully supports, so that we can adopt `C++17` as required language standard. gcc7 and clang6 are available on Ubuntu 18.04 LTS release.
   
   The benefits of adopting a more recent C++ standard should be obvious, giving us access to new features and abstractions that the C++ committee has worked on over the course of 6 years. The benefits of adopting a more recent toolchain should also be obvious, as newer compilers will come with more optimizations as older ones.
   
   There are no downsides for MXNet's users, as we can continue to build binary releases of MXNet on CentOS 6 that should work on any major Linux distribution released after 2004. This is possible based on the great work by RedHat to bring new C++ toolchains to old platforms [1]. 
   
   With respect to Windows: MSVC 2019 is the first MSVC that uses an 64bit toolchain by default. You may have noticed that our Windows CI was recently blocked due to the use of a 32bit toolchain and updating it to MSVC 2019 was chosen as remedy (attempts to use the 64bit version of the 2017 toolchain failed). It also appears that MSVC 2019 16.5 is the first release to make proper use of advanced instruction sets, such as AVX2 [2].
   
   ## References
   1: https://www.softwarecollections.org/en/scls/rhscl/devtoolset-8/
   2: https://devblogs.microsoft.com/cppblog/avx2-floating-point-improvements-in-visual-studio-2019-version-16-5/

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-mxnet] sandeep-krishnamurthy commented on issue #17968: [RFC] Raising the toolchain requirements for MXNet 2

Posted by GitBox <gi...@apache.org>.
sandeep-krishnamurthy commented on issue #17968: [RFC] Raising the toolchain requirements for MXNet 2
URL: https://github.com/apache/incubator-mxnet/issues/17968#issuecomment-608971830
 
 
   +1 Thanks for bringing this up.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-mxnet] leezu commented on issue #17968: [RFC] Raising the toolchain requirements for MXNet 2

Posted by GitBox <gi...@apache.org>.
leezu commented on issue #17968: [RFC] Raising the toolchain requirements for MXNet 2
URL: https://github.com/apache/incubator-mxnet/issues/17968#issuecomment-613681904
 
 
   https://github.com/apache/incubator-mxnet/commit/fb73a1717acad61caeaeef010faed9e9fcc05f0e implements the proposal, fixing a number of other issues that were blocking. Please see the commit message for a complete list of changes.
   
   As a follow-up item, I suggest to remove the `cpplint` we currently use in favor of `clang-tidy` (which we also use). cpplint enforces the Google's C++ style guide, which is geared toward C++03. Instead we can target https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines with enforcement by clang-tidy (+ potentially MSVC).

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-mxnet] leezu closed issue #17968: [RFC] Raising the toolchain requirements for MXNet 2

Posted by GitBox <gi...@apache.org>.
leezu closed issue #17968:
URL: https://github.com/apache/incubator-mxnet/issues/17968


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org