Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Thrust .git directory and other unnecessary files installed by ./build.sh libcudf #8397

Closed
nullvoidptr opened this issue May 28, 2021 · 3 comments · Fixed by #8420
Closed
Assignees
Labels
bug Something isn't working libcudf Affects libcudf (C++/CUDA) code.

Comments

@nullvoidptr
Copy link

Describe the bug

When building libcudf via ./build.sh libcudf there are a number of files installed that probably shouldn't be installed. These include:

  • Thrust .git and .github directories (in /include/libcudf/Thrust/)
  • Thrust CMakeLists.txt file and cmake directory (in /include/libcudf/Thrust/)
  • Thrust internal directory containing utiity scripts (in /include/libcudf/Thrust/)
  • cub .git, .github, and cmake directories (in /include/libcudf/Thrust/dependencies/cub`)

Steps/Code to reproduce bug

export PREFIX=INSTALL_DIR
git checkout v0.19.2
./build.sh libcudf

Once build completes, examine the contents of the install directory (eg. find INSTALL_DIR | less) and see files that typically are not part of a library installation.

Expected behavior
The contents of INSTALL_DIR (set by $PREFIX) should contain only the relevant files and directories to be
installed on a system ... in the case of /include/libcudf/Thrust should be mostly (entirely) development
header files.

Environment overview (please complete the following information)
Build from source in AWS Ubuntu 20.04 instance.

Environment details

Click here to see environment details
 **git***
 commit f07b25103e87229beacb25b6381e9b811e1e62f3 (HEAD, tag: v0.19.0)
 Author: gpuCI <38199262+GPUtester@users.noreply.github.com>
 Date:   Wed Apr 21 09:05:10 2021 -0700

 REL v0.19.0 release
 **git submodules***

 ***OS Information***
 DISTRIB_ID=Ubuntu
 DISTRIB_RELEASE=20.04
 DISTRIB_CODENAME=focal
 DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
 NAME="Ubuntu"
 VERSION="20.04.2 LTS (Focal Fossa)"
 ID=ubuntu
 ID_LIKE=debian
 PRETTY_NAME="Ubuntu 20.04.2 LTS"
 VERSION_ID="20.04"
 HOME_URL="https://www.ubuntu.com/"
 SUPPORT_URL="https://help.ubuntu.com/"
 BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
 PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
 VERSION_CODENAME=focal
 UBUNTU_CODENAME=focal
 Linux ip-172-31-32-143 5.4.0-1045-aws #47-Ubuntu SMP Tue Apr 13 07:02:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

 ***GPU Information***

./print_env.sh: line 25: nvidia-smi: command not found

 ***CPU***
 Architecture:                    x86_64
 CPU op-mode(s):                  32-bit, 64-bit
 Byte Order:                      Little Endian
 Address sizes:                   46 bits physical, 48 bits virtual
 CPU(s):                          16
 On-line CPU(s) list:             0-15
 Thread(s) per core:              2
 Core(s) per socket:              8
 Socket(s):                       1
 NUMA node(s):                    1
 Vendor ID:                       GenuineIntel
 CPU family:                      6
 Model:                           85
 Model name:                      Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz
 Stepping:                        7
 CPU MHz:                         3606.788
 BogoMIPS:                        5999.96
 Hypervisor vendor:               KVM
 Virtualization type:             full
 L1d cache:                       256 KiB
 L1i cache:                       256 KiB
 L2 cache:                        8 MiB
 L3 cache:                        35.8 MiB
 NUMA node0 CPU(s):               0-15
 Vulnerability Itlb multihit:     KVM: Vulnerable
 Vulnerability L1tf:              Mitigation; PTE Inversion
 Vulnerability Mds:               Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
 Vulnerability Meltdown:          Mitigation; PTI
 Vulnerability Spec store bypass: Vulnerable
 Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
 Vulnerability Spectre v2:        Mitigation; Full generic retpoline, STIBP disabled, RSB filling
 Vulnerability Srbds:             Not affected
 Vulnerability Tsx async abort:   Not affected
 Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves ida arat pku ospke

 ***CMake***
 /snap/bin/cmake
 cmake version 3.20.2

 CMake suite maintained and supported by Kitware (kitware.com/cmake).

 ***g++***
 /usr/bin/g++
 g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
 Copyright (C) 2019 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


 ***nvcc***
 /usr/bin/nvcc
 nvcc: NVIDIA (R) Cuda compiler driver
 Copyright (c) 2005-2019 NVIDIA Corporation
 Built on Sun_Jul_28_19:07:16_PDT_2019
 Cuda compilation tools, release 10.1, V10.1.243

 ***Python***

 ***Environment Variables***
 PATH                            : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
 LD_LIBRARY_PATH                 :
 NUMBAPRO_NVVM                   :
 NUMBAPRO_LIBDEVICE              :
 CONDA_PREFIX                    :
 PYTHON_PATH                     :

 conda not found
 pip not found

Additional context

Also present in v0.19.0. Have not tested on other releases.

@nullvoidptr nullvoidptr added Needs Triage Need team to review and classify bug Something isn't working labels May 28, 2021
@nullvoidptr
Copy link
Author

List of all files installed to the directoy defined by PREFIX environment variable (INSTALL in this case): install.txt

@shwina shwina added libcudf Affects libcudf (C++/CUDA) code. and removed Needs Triage Need team to review and classify labels May 31, 2021
@harrism
Copy link
Member

harrism commented Jun 1, 2021

@robertmaynard is it possible to install Thrust headers without all the baggage?

@robertmaynard robertmaynard self-assigned this Jun 1, 2021
@robertmaynard
Copy link
Contributor

@robertmaynard is it possible to install Thrust headers without all the baggage?

Yes we should be able to do this. For a little background we currently don't use Thrust's built-in install rules as we need to place thrust in a custom location under our install since we patch some headers and therefore don't provide as an official Thrust release.

robertmaynard added a commit to robertmaynard/cudf that referenced this issue Jun 1, 2021
Fixes rapidsai#8397

Recreate thrust's install rules so we don't install extra directories
such as `.git`. We can't leverage thrust's install rules as that would
break our layout as the cmake files would need to go into something
like `lib/cmake/cudf/thirdparty?/lib/cmake/thrust`. This weird path
is required as cudf packages a modified version of Thrust and
we don't want that to be installed into a default system path.
@rapids-bot rapids-bot bot closed this as completed in #8420 Jun 9, 2021
rapids-bot bot pushed a commit that referenced this issue Jun 9, 2021
Fixes #8397

Recreate thrust's install rules so we don't install extra directories such as `.git`. We can't leverage thrust's install rules as that would break our layout as the cmake files would need to go into something like `lib/cmake/cudf/thirdparty?/lib/cmake/thrust`. This weird path is required as cudf packages a modified version of Thrust and we don't want that to be installed into a default system path.

Authors:
  - Robert Maynard (https://github.com/robertmaynard)

Approvers:
  - Mark Harris (https://github.com/harrism)

URL: #8420
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working libcudf Affects libcudf (C++/CUDA) code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants