[
https://issues.apache.org/jira/browse/MXNET-796?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anton Chernov updated MXNET-796:
--------------------------------
Description:
h2. Problem
The current cmake CUDA support has multiple major problems.
*Multiple not compatible definitions*
CUDA can be part of cmake language detection and is not for older cmake
versions.
CUDA architectures can be detected by build-in cmake file. This would be
preferred, but is not used by the current MXNet cmake scripts.
CUDA is detected by 3 different files in the current cmake scripts and the
choice of those is based on a obscure logic with involves different versions of
cmake and platforms which it's building on
* CMakeLists.txt
* cmake/FirstClassLangCuda.cmake
* 3rdparty/mshadow/cmake/Cuda.cmake
*No support for new CUDA architectures or faulty detection*
Only 3rdparty/mshadow/cmake/Cuda.cmake supports Volta architecture, but not in
all circumstances.
In a lot of situations the right architecture can not be detected properly and
the script falls back to build all architectures bowing up both: build time and
artefact size.
cmake/FirstClassLangCuda.cmake is outdated and does not support Volta at all.
*Confusing and misleading cmake user options*
Currently USE_CUDA / USE_OLDCMAKECUDA. Some of them will do or not do what they
supposed to based on cmake generator version and version of cmake.
*Other problems with dependencies*
For example the caffe integration raises the minimum required cmake version to
3.3 due required to c++11 support.
h2. Solution
As a solution all custom detection of CUDA should be removed and if CUDA is
used the minimum cmake version should be raised to 3.10 due to support of
latest Volta architectures.
https://github.com/apache/incubator-mxnet/issues/12107
was:
h2. Problem
The current cmake CUDA support has multiple major problems.
*Multiple not compatible definitions*
CUDA can be part of cmake language detection and is not for older cmake
versions.
CUDA architectures can be detected by build-in cmake file. This would be
preferred, but is not used by the current MXNet cmake scripts.
CUDA is detected by 3 different files in the current cmake scripts and the
choice of those is based on a obscure logic with involves different versions of
cmake and platforms which it's building on
* CMakeLists.txt
* cmake/FirstClassLangCuda.cmake
* 3rdparty/mshadow/cmake/Cuda.cmake
*No support for new CUDA architectures or faulty detection*
Only 3rdparty/mshadow/cmake/Cuda.cmake supports Volta architecture, but not in
all circumstances.
In a lot of situations the right architecture can not be detected properly and
the script falls back to build all architectures bowing up both: build time and
artefact size.
cmake/FirstClassLangCuda.cmake is outdated and does not support Volta at all.
*Confusing and misleading cmake user options*
Currently USE_CUDA / USE_OLDCMAKECUDA. Some of them will do or not do what they
supposed to based on cmake generator version and version of cmake.
*Other problems with dependencies*
For example the caffe integration raises the minimum required cmake version to
3.3 due required to c++11 support.
h2. Solution
As a solution all custom detection of CUDA should be removed and if CUDA is
used the minimum cmake version should be raised to 3.10 due to support of
latest Volta architectures.
> Faulty CUDA detection with cmake
> --------------------------------
>
> Key: MXNET-796
> URL: https://issues.apache.org/jira/browse/MXNET-796
> Project: Apache MXNet
> Issue Type: Bug
> Reporter: Anton Chernov
> Priority: Major
>
> h2. Problem
> The current cmake CUDA support has multiple major problems.
> *Multiple not compatible definitions*
> CUDA can be part of cmake language detection and is not for older cmake
> versions.
> CUDA architectures can be detected by build-in cmake file. This would be
> preferred, but is not used by the current MXNet cmake scripts.
> CUDA is detected by 3 different files in the current cmake scripts and the
> choice of those is based on a obscure logic with involves different versions
> of cmake and platforms which it's building on
> * CMakeLists.txt
> * cmake/FirstClassLangCuda.cmake
> * 3rdparty/mshadow/cmake/Cuda.cmake
> *No support for new CUDA architectures or faulty detection*
> Only 3rdparty/mshadow/cmake/Cuda.cmake supports Volta architecture, but not
> in all circumstances.
> In a lot of situations the right architecture can not be detected properly
> and the script falls back to build all architectures bowing up both: build
> time and artefact size.
> cmake/FirstClassLangCuda.cmake is outdated and does not support Volta at all.
> *Confusing and misleading cmake user options*
> Currently USE_CUDA / USE_OLDCMAKECUDA. Some of them will do or not do what
> they supposed to based on cmake generator version and version of cmake.
> *Other problems with dependencies*
> For example the caffe integration raises the minimum required cmake version
> to 3.3 due required to c++11 support.
> h2. Solution
> As a solution all custom detection of CUDA should be removed and if CUDA is
> used the minimum cmake version should be raised to 3.10 due to support of
> latest Volta architectures.
>
> https://github.com/apache/incubator-mxnet/issues/12107
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]