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

Switch staticbuild scripts to Flang Fortran compiler #18513

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

leezu
Copy link
Contributor

@leezu leezu commented Jun 8, 2020

Flang fortran compiler as replacement for gfortran due to the resulting runtime
dependency on libgfortran.so which is GPL-licensed and thus
https://www.apache.org/legal/resolved.html#category-x for distribution.

We need a Fortran compiler to compile the OpenBLAS Lapack implementation.

Note that Flang will be replaced by F18 as part of a future LLVM version. But currently F18 is not yet ready.

@mxnet-bot
Copy link

Hey @leezu , Thanks for submitting the PR
All tests are already queued to run once. If tests fail, you can trigger one or more tests again with the following commands:

  • To trigger all jobs: @mxnet-bot run ci [all]
  • To trigger specific jobs: @mxnet-bot run ci [job1, job2]

CI supported jobs: [centos-gpu, unix-cpu, windows-gpu, miscellaneous, website, clang, centos-cpu, unix-gpu, sanity, windows-cpu, edge]


Note:
Only following 3 categories can trigger CI :PR Author, MXNet Committer, Jenkins Admin.
All CI tests must pass before the PR can be merged.

Flang fortran compiler as replacement for gfortran due to the resulting runtime
dependency on libgfortran.so which is GPL-licensed and thus
https://www.apache.org/legal/resolved.html#category-x for distribution.

We need a Fortran compiler to compile the OpenBLAS Lapack implementation.
leezu added 3 commits June 9, 2020 21:09
Cuda 9.2 misses LLVM 7 support. Switch cuda builds in a separate commit, to
simplify backporting of CPU changes.
@szha szha self-assigned this Jun 9, 2020
leezu added 4 commits June 9, 2020 22:48
- Update Jenkins_pipeline.groovy after keeping GPU builds on gfortran
- Use llvm flang toolchain only for staticbuild. Some bug causes object file
  size explosion in the non-static build script.

1013M   build/CMakeFiles/mxnet.dir/src/operator/numpy/np_elemwise_broadcast_logic_op.cc.o
1.3G    build/CMakeFiles/mxnet.dir/src/operator/numpy/np_where_op.cc.o
1.9G    build/CMakeFiles/mxnet.dir/src/operator/numpy/np_broadcast_reduce_op_value.cc.o
2.1G    build/CMakeFiles/mxnet.dir/src/operator/numpy/linalg/np_norm_forward.cc.o
We can't delete this hack when supporting the Makefile build:

  ln -s libopenblas.a $DEPS_PATH/lib/libcblas.a
  ln -s libopenblas.a $DEPS_PATH/lib/liblapack.a
Some release between 3.4.3 and 3.4.8 introduces a bug in OpenCV cmake
configuration related to EIGEN handling, causing error in MXNet compilation.
It may be fixed in upcoming OpenCV 3.4.11.
@ciyongch
Copy link
Contributor

Hi @leeze, as it's tagged with "R1.7.0"/"Backport 1.x" label, so it's a necessary fix for 1.7.0 and will be backported to v1.7.x later, right?

@leezu
Copy link
Contributor Author

leezu commented Jun 11, 2020

It's only for the distribution scripts, so it can be backported to the 1.7 branch at a later point (not a release blocker)

@ciyongch
Copy link
Contributor

It's only for the distribution scripts, so it can be backported to the 1.7 branch at a later point (not a release blocker)

Got it, thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Backport 1.x Pending backport to 1.x Licenses R1.7.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants