[Openmp-dev] Offloading application build with a Trunk Debug Clang is so slow

Alexey Bataev via Openmp-dev openmp-dev at lists.llvm.org
Thu Dec 19 15:46:26 PST 2019


Try to use gold linker instead of default ld.

Best regards,
Alexey Bataev

19 дек. 2019 г., в 01:16, Itaru Kitayama via Openmp-dev <openmp-dev at lists.llvm.org> написал(а):


On POWER8, my app builds 40 minutes with the Debug Clang (40 times increase of time, when
it is built with Release Clang), but on an x86 host, it just takes about 10 minutes and it is bearable.

Could this be PowerPC specific, is it why most people aren't aware of the slowness?


On Thu, Dec 19, 2019 at 1:38 PM Itaru Kitayama <itaru.kitayama at gmail.com<mailto:itaru.kitayama at gmail.com>> wrote:
Trunk Clang built with setting both variables to -DCMAKE_BUILD_TYPE=Release -DLIBOMPTARGET_ENABLE_DEBUG=False
builds my application in a minute or so.

On Thu, Dec 19, 2019 at 8:18 AM Itaru Kitayama <itaru.kitayama at gmail.com<mailto:itaru.kitayama at gmail.com>> wrote:
The CMake was executed as below:

cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DLIBOMPTARGET_ENABLE_DEBUG=True -DCMAKE_INSTALL_PREFIX=$SCRATCH/pcp0151/opt/clang/${today} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DGCC_INSTALL_PREFIX=/gpfs/software/opt/gcc/7.2.0/ -DLLVM_ENABLE_PROJECTS="clang;openmp;libcxx;libcxxabi;lld" -DCLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_60 -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=60 -DLLVM_TARGETS_TO_BUILD="PowerPC;NVPTX" $SCRATCH/pcp0151/projects/llvm-project/llvm

On Thu, Dec 19, 2019 at 7:57 AM Itaru Kitayama <itaru.kitayama at gmail.com<mailto:itaru.kitayama at gmail.com>> wrote:
The Clang at this commit:
commit 1c49553c19a7044fbbf4528b732926f19f210e54
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com<mailto:bjorn.a.pettersson at ericsson.com>>
Date:   Thu Dec 12 20:51:13 2019 +0100
[kitayama1 at juron1-adm pcp0151]$ time clang++ -g -fopenmp -fopenmp-targets=nvptx64 mini.cpp

real 0m2.344s
user 0m2.231s
sys 0m0.049s
Release Clang 9
[[kitayama1 at juron1-adm pcp0151]$ time clang++ -g -fopenmp -fopenmp-targets=nvptx64 mini.cpp

real 0m0.693s
user 0m0.533s
sys 0m0.047s

On Thu, Dec 19, 2019 at 5:32 AM Jon Chesterfield <jonathanchesterfield at gmail.com<mailto:jonathanchesterfield at gmail.com>> wrote:
Ah, OK. In that case I still suspect a regression in clang, as opposed to a change in the library. Does the compile time remain very slow if you roll deviceRTL back by a few days?

On Wed, Dec 18, 2019 at 8:30 PM Itaru Kitayama <itaru.kitayama at gmail.com<mailto:itaru.kitayama at gmail.com>> wrote:
Sorry, of course it should include this #pragma
omp target parallel for for(;;) {}. My local Debug Clang is updated daily, so the tool chain is pretty much up to date.

On Thu, Dec 19, 2019 at 5:24 Jon Chesterfield <jonathanchesterfield at gmail.com<mailto:jonathanchesterfield at gmail.com>> wrote:
On Wed, Dec 18, 2019 at 8:13 PM Itaru Kitayama <itaru.kitayama at gmail.com<mailto:itaru.kitayama at gmail.com>> wrote:
The app build time increases can be reproduced with a simple int main() {} code.

I thought the problem was with the compile time of deviceRTL.

If you're compiling int main() {}, then there's no openmp involved, so that seems out of scope for this list.

_______________________________________________
Openmp-dev mailing list
Openmp-dev at lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20191219/5fb1a861/attachment-0001.html>


More information about the Openmp-dev mailing list