Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

[CI] Test CMake builds instead of Makefile builds #17645

Merged
merged 1 commit into from Feb 28, 2020

Conversation

leezu
Copy link
Contributor

@leezu leezu commented Feb 21, 2020

Description

Use cmake build for most CI builds in preparation of dropping Makefile build

Fixes #17548

Comments

The following Makefile based builds are preserved

  1. staticbuild scripts. Changes to CD pipeline will happen in Switch CD to cmake build #17646
  2. Docs builds. Language binding specific build logic requires further changes
  3. Jetson build. Jetpack 3.3 toolchain based on Cuda 9.0 causes 'Internal
    Compiler Error (codegen): "there was an error in verifying the lgenfe
    output!"' errors with cmake. This seems to be a known issue in Cuda 9.0 and
    we need to update Jetpack toolchain to work around it.
  4. MKL builds. Waiting for fix of OpenMP Error #17641

Improvements to CMake build

  • Enable -Werror for RelWithDebugInfo build in analogy to "make DEV=1" build
  • Add USE_LIBJPEG_TURBO to CMake build
  • Improve finding Python 3 executable

Changes to CI setup

  • Install protobuf in ubuntu_core.sh and centos_core.sh
  • Install up-to-date CMake on Centos 7
  • Don't use RelWithDebInfo on Android builds, as gcc 4.9 throws
    -Wdelete-non-virtual-dtor

Code changes

  • Locally disable warnings introduced by GCC7

@leezu
Copy link
Contributor Author

leezu commented Feb 21, 2020

@apeforest I agree the TVM Op testing can be improved. I'll first attempt to make this PR pass CI, without changing any of the build configurations tested (but only switch the build system).
Once CI passes, we can consider merging and have a separate PR for changing configurations or iterate on this PR.

@leezu leezu force-pushed the citestcmake branch 9 times, most recently from 527f7c8 to 5e70fd7 Compare February 21, 2020 19:00
@apeforest
Copy link
Contributor

Could you first test this in the mxnet-ci-dev environment? If there is anything wrong, we don't want it to break the CI production right?

@leezu leezu force-pushed the citestcmake branch 3 times, most recently from 7984f2c to 362813c Compare February 27, 2020 06:53
@leezu leezu requested a review from nswamy as a code owner February 27, 2020 06:53
@leezu leezu force-pushed the citestcmake branch 2 times, most recently from a4615fb to abede68 Compare February 27, 2020 23:05
In particular the following Makefile based builds are preserved
1) staticbuild scripts
2) Docs builds. Language binding specific build logic requires further changes
3) Jetson build. Jetpack 3.3 toolchain based on Cuda 9.0 causes 'Internal
   Compiler Error (codegen): "there was an error in verifying the lgenfe
   output!"' errors with cmake. This seems to be a known issue in Cuda 9.0 and
   we need to update Jetpack toolchain to work around it.

All Makefile based builds are marked with a "Makefile" postfix in the title.

Improvements to CMake build
- Enable -Werror for RelWithDebugInfo build in analogy to "make DEV=1" build
- Add USE_LIBJPEG_TURBO to CMake build
- Improve finding Python 3 executable

Changes to CI setup
- Install protobuf in ubuntu_core.sh and centos_core.sh
- Install up-to-date CMake on Centos 7
- Don't use RelWithDebInfo on Android builds, as gcc 4.9 throws
  -Wdelete-non-virtual-dtor

Code changes
- Locally disable warnings introduced by GCC7
@leezu leezu merged commit 319e6c1 into apache:master Feb 28, 2020
@leezu leezu deleted the citestcmake branch February 28, 2020 19:59
leezu added a commit to leezu/mxnet that referenced this pull request Mar 5, 2020
Fixes a regression in CD introduced by
apache#17645
@leezu leezu mentioned this pull request Mar 5, 2020
leezu added a commit that referenced this pull request Mar 5, 2020
* Fix cd/mxnet_lib/dynamic/Jenkins_pipeline.groovy

Fixes a regression in CD introduced by
#17645

* Fix whitespace

* Add NATIVE_ADDITIONAL.md

Fixes a regression in CD introduced by
#16899

* Update other $TYPE_ADDITIONAL.MD

* Fix cd/python/docker

Fixes regression introduced by
#15990
MoisesHer pushed a commit to MoisesHer/incubator-mxnet that referenced this pull request Apr 10, 2020
The following Makefile based builds are preserved
1) staticbuild scripts
2) Docs builds. Language binding specific build logic requires further changes
3) Jetson build. Jetpack 3.3 toolchain based on Cuda 9.0 causes 'Internal
   Compiler Error (codegen): "there was an error in verifying the lgenfe
   output!"' errors with cmake. This seems to be a known issue in Cuda 9.0 and
   we need to update Jetpack toolchain to work around it.
4) MKL builds. Waiting for fix of apache#17641

All Makefile based builds are marked with a "Makefile" postfix in the title.

Improvements to CMake build
- Enable -Werror for RelWithDebugInfo build in analogy to "make DEV=1" build
- Add USE_LIBJPEG_TURBO to CMake build
- Improve finding Python 3 executable

Changes to CI setup
- Install protobuf and zmq where missing
- Install up-to-date CMake on Centos 7
- Don't use RelWithDebInfo on Android builds, as gcc 4.9 throws
  -Wdelete-non-virtual-dtor

Code changes
- Disable warnings introduced by GCC7 at via #pragma GCC diagnostic
MoisesHer pushed a commit to MoisesHer/incubator-mxnet that referenced this pull request Apr 10, 2020
* Fix cd/mxnet_lib/dynamic/Jenkins_pipeline.groovy

Fixes a regression in CD introduced by
apache#17645

* Fix whitespace

* Add NATIVE_ADDITIONAL.md

Fixes a regression in CD introduced by
apache#16899

* Update other $TYPE_ADDITIONAL.MD

* Fix cd/python/docker

Fixes regression introduced by
apache#15990
anirudh2290 pushed a commit to anirudh2290/mxnet that referenced this pull request May 29, 2020
The following Makefile based builds are preserved
1) staticbuild scripts
2) Docs builds. Language binding specific build logic requires further changes
3) Jetson build. Jetpack 3.3 toolchain based on Cuda 9.0 causes 'Internal
   Compiler Error (codegen): "there was an error in verifying the lgenfe
   output!"' errors with cmake. This seems to be a known issue in Cuda 9.0 and
   we need to update Jetpack toolchain to work around it.
4) MKL builds. Waiting for fix of apache#17641

All Makefile based builds are marked with a "Makefile" postfix in the title.

Improvements to CMake build
- Enable -Werror for RelWithDebugInfo build in analogy to "make DEV=1" build
- Add USE_LIBJPEG_TURBO to CMake build
- Improve finding Python 3 executable

Changes to CI setup
- Install protobuf and zmq where missing
- Install up-to-date CMake on Centos 7
- Don't use RelWithDebInfo on Android builds, as gcc 4.9 throws
  -Wdelete-non-virtual-dtor

Code changes
- Disable warnings introduced by GCC7 at via #pragma GCC diagnostic
anirudh2290 pushed a commit to anirudh2290/mxnet that referenced this pull request May 29, 2020
* Fix cd/mxnet_lib/dynamic/Jenkins_pipeline.groovy

Fixes a regression in CD introduced by
apache#17645

* Fix whitespace

* Add NATIVE_ADDITIONAL.md

Fixes a regression in CD introduced by
apache#16899

* Update other $TYPE_ADDITIONAL.MD

* Fix cd/python/docker

Fixes regression introduced by
apache#15990
mseth10 pushed a commit to mseth10/incubator-mxnet that referenced this pull request Jun 2, 2020
* Fix cd/mxnet_lib/dynamic/Jenkins_pipeline.groovy

Fixes a regression in CD introduced by
apache#17645

* Fix whitespace

* Add NATIVE_ADDITIONAL.md

Fixes a regression in CD introduced by
apache#16899

* Update other $TYPE_ADDITIONAL.MD

* Fix cd/python/docker

Fixes regression introduced by
apache#15990
mseth10 pushed a commit to mseth10/incubator-mxnet that referenced this pull request Jun 2, 2020
* Fix cd/mxnet_lib/dynamic/Jenkins_pipeline.groovy

Fixes a regression in CD introduced by
apache#17645

* Fix whitespace

* Add NATIVE_ADDITIONAL.md

Fixes a regression in CD introduced by
apache#16899

* Update other $TYPE_ADDITIONAL.MD

* Fix cd/python/docker

Fixes regression introduced by
apache#15990
leezu added a commit that referenced this pull request Jun 9, 2020
* Fix CD (#17776)

* Fix cd/mxnet_lib/dynamic/Jenkins_pipeline.groovy

Fixes a regression in CD introduced by
#17645

* Fix whitespace

* Add NATIVE_ADDITIONAL.md

Fixes a regression in CD introduced by
#16899

* Update other $TYPE_ADDITIONAL.MD

* Fix cd/python/docker

Fixes regression introduced by
#15990

* [CD] update pypi description, setup.py (#17681)

* update pypi description, setup.py, use manylinux2010, use unified dist link for nightly

* Use manylinux2014

Co-authored-by: Leonard Lausen <leonard@lausen.nl>

* reverting .so path as per MAKE flow

Co-authored-by: Leonard Lausen <lausen@amazon.com>
Co-authored-by: Sheng Zha <szha@users.noreply.github.com>
Co-authored-by: Leonard Lausen <leonard@lausen.nl>
leezu added a commit that referenced this pull request Jun 15, 2020
* Fix CD (#17776)

* Fix cd/mxnet_lib/dynamic/Jenkins_pipeline.groovy

Fixes a regression in CD introduced by
#17645

* Fix whitespace

* Add NATIVE_ADDITIONAL.md

Fixes a regression in CD introduced by
#16899

* Update other $TYPE_ADDITIONAL.MD

* Fix cd/python/docker

Fixes regression introduced by
#15990

* [CD] update pypi description, setup.py (#17681)

* update pypi description, setup.py, use manylinux2010, use unified dist link for nightly

* Use manylinux2014

Co-authored-by: Leonard Lausen <leonard@lausen.nl>

* reverting .so path as per MAKE flow

Co-authored-by: Leonard Lausen <lausen@amazon.com>
Co-authored-by: Sheng Zha <szha@users.noreply.github.com>
Co-authored-by: Leonard Lausen <leonard@lausen.nl>
@sxjscience
Copy link
Member

@ciyongch Would this go to v1.7? I come up to this commit when I'm cherry-picking the related commits one by one

@ciyongch
Copy link
Contributor

ciyongch commented Jul 3, 2020

Hi @sxjscience , sorry for overlooking your message. I don't see there's a strong requirement for this and likely not to include this patch in v1.7.

ChaiBapchya pushed a commit to ChaiBapchya/mxnet that referenced this pull request Aug 15, 2020
* Fix CD (apache#17776)

* Fix cd/mxnet_lib/dynamic/Jenkins_pipeline.groovy

Fixes a regression in CD introduced by
apache#17645

* Fix whitespace

* Add NATIVE_ADDITIONAL.md

Fixes a regression in CD introduced by
apache#16899

* Update other $TYPE_ADDITIONAL.MD

* Fix cd/python/docker

Fixes regression introduced by
apache#15990

* [CD] update pypi description, setup.py (apache#17681)

* update pypi description, setup.py, use manylinux2010, use unified dist link for nightly

* Use manylinux2014

Co-authored-by: Leonard Lausen <leonard@lausen.nl>

* reverting .so path as per MAKE flow

Co-authored-by: Leonard Lausen <lausen@amazon.com>
Co-authored-by: Sheng Zha <szha@users.noreply.github.com>
Co-authored-by: Leonard Lausen <leonard@lausen.nl>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CI doesn't test cmake build properly
6 participants