rapidsai / cudf

cuDF - GPU DataFrame Library
https://docs.rapids.ai/api/cudf/stable/
Apache License 2.0
8.41k stars 899 forks source link

[BUG] NVTX cannot be turned off #5976

Closed rongou closed 4 years ago

rongou commented 4 years ago

Describe the bug The top-level CMakeList.txt contains a USE_NVTX option, but setting it to OFF has no effect, NVTX traces for libcudf still show up in Nsight Systems.

Steps/Code to reproduce bug Run cmake .. -DUSE_NVTX=OFF, build libcudf, then profile with nsys. The resulting profile still contains libcudf NVTX events.

Expected behavior When setting USE_NVTX to OFF, libcudf should not record NVTX events.

Environment overview (please complete the following information)

Environment details

Click here to see environment details

     **git***
     commit 235cdda3b6b22cba5307d482c2c41c2e29a20c7f (HEAD -> branch-0.15, upstream/branch-0.15, origin/branch-0.15)
     Merge: aa9015200 891d30817
     Author: AJ Schmidt 
     Date:   Thu Aug 13 14:21:25 2020 -0400

     Merge pull request #5964 from rapidsai/docs-fix

     [REVIEW] [DOC] - Update API doc page title
     **git submodules***

     ***OS Information***
     DISTRIB_ID=Ubuntu
     DISTRIB_RELEASE=18.04
     DISTRIB_CODENAME=bionic
     DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
     NAME="Ubuntu"
     VERSION="18.04.5 LTS (Bionic Beaver)"
     ID=ubuntu
     ID_LIKE=debian
     PRETTY_NAME="Ubuntu 18.04.5 LTS"
     VERSION_ID="18.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=bionic
     UBUNTU_CODENAME=bionic
     Linux rou 5.0.0-33-generic #35~18.04.1-Ubuntu SMP Wed Oct 23 05:28:37 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

     ***GPU Information***
     Thu Aug 13 16:43:56 2020
     +-----------------------------------------------------------------------------+
     | NVIDIA-SMI 450.57       Driver Version: 450.57       CUDA Version: 11.0     |
     |-------------------------------+----------------------+----------------------+
     | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
     | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
     |                               |                      |               MIG M. |
     |===============================+======================+======================|
     |   0  TITAN V             Off  | 00000000:01:00.0  On |                  N/A |
     | 37%   51C    P2    31W / 250W |   1290MiB / 12063MiB |     10%      Default |
     |                               |                      |                  N/A |
     +-------------------------------+----------------------+----------------------+
     |   1  TITAN V             Off  | 00000000:02:00.0 Off |                  N/A |
     | 32%   46C    P8    25W / 250W |     11MiB / 12066MiB |      0%      Default |
     |                               |                      |                  N/A |
     +-------------------------------+----------------------+----------------------+

     +-----------------------------------------------------------------------------+
     | Processes:                                                                  |
     |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
     |        ID   ID                                                   Usage      |
     |=============================================================================|
     |    0   N/A  N/A      4844      G   /usr/lib/xorg/Xorg                 28MiB |
     |    0   N/A  N/A      4987      G   /usr/bin/gnome-shell               58MiB |
     |    0   N/A  N/A      5347      G   /usr/lib/xorg/Xorg                486MiB |
     |    0   N/A  N/A      5506      G   /usr/bin/gnome-shell              296MiB |
     |    0   N/A  N/A      5789      G   /opt/piavpn/bin/pia-client          6MiB |
     |    0   N/A  N/A      6040      G   ...oken=15388753392908802159       45MiB |
     |    0   N/A  N/A      9338      G   ...-linux-x64/nsight-sys.bin       16MiB |
     |    0   N/A  N/A     14770      G   ...nnel-token=24174321522226       56MiB |
     |    0   N/A  N/A     16448      G   ...AAAAAAAAA= --shared-files      167MiB |
     |    0   N/A  N/A     26887      G   ...AAAAAAAAA= --shared-files      120MiB |
     |    1   N/A  N/A      4844      G   /usr/lib/xorg/Xorg                  4MiB |
     |    1   N/A  N/A      5347      G   /usr/lib/xorg/Xorg                  4MiB |
     +-----------------------------------------------------------------------------+

     ***CPU***
     Architecture:        x86_64
     CPU op-mode(s):      32-bit, 64-bit
     Byte Order:          Little Endian
     CPU(s):              12
     On-line CPU(s) list: 0-11
     Thread(s) per core:  2
     Core(s) per socket:  6
     Socket(s):           1
     NUMA node(s):        1
     Vendor ID:           GenuineIntel
     CPU family:          6
     Model:               63
     Model name:          Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
     Stepping:            2
     CPU MHz:             1489.375
     CPU max MHz:         4000.0000
     CPU min MHz:         1200.0000
     BogoMIPS:            6600.33
     Virtualization:      VT-x
     L1d cache:           32K
     L1i cache:           32K
     L2 cache:            256K
     L3 cache:            15360K
     NUMA node0 CPU(s):   0-11
     Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts

     ***CMake***
     /home/rou/miniconda3/envs/cudf_dev/bin/cmake
     cmake version 3.18.0

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

     ***g++***
     /usr/local/bin/g++
     g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
     Copyright (C) 2017 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/local/bin/nvcc
     nvcc: NVIDIA (R) Cuda compiler driver
     Copyright (c) 2005-2019 NVIDIA Corporation
     Built on Wed_Oct_23_19:24:38_PDT_2019
     Cuda compilation tools, release 10.2, V10.2.89

     ***Python***
     /home/rou/miniconda3/envs/cudf_dev/bin/python
     Python 3.7.8

     ***Environment Variables***
     PATH                            : /home/rou/miniconda3/envs/cudf_dev/bin:/home/rou/miniconda3/condabin:/opt/google-cloud-sdk/bin:/opt/maven/bin:/home/rou/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/cuda/bin:/home/rou/go/bin
     LD_LIBRARY_PATH                 : /opt/hadoop/lib/native
     NUMBAPRO_NVVM                   :
     NUMBAPRO_LIBDEVICE              :
     CONDA_PREFIX                    : /home/rou/miniconda3/envs/cudf_dev
     PYTHON_PATH                     :

     ***conda packages***
     /home/rou/miniconda3/condabin/conda
     # packages in environment at /home/rou/miniconda3/envs/cudf_dev:
     #
     # Name                    Version                   Build  Channel
     _libgcc_mutex             0.1                 conda_forge    conda-forge
     _openmp_mutex             4.5                       1_gnu    conda-forge
     abseil-cpp                20200225.2           he1b5a44_2    conda-forge
     alabaster                 0.7.12                     py_0    conda-forge
     appdirs                   1.4.3                      py_1    conda-forge
     argon2-cffi               20.1.0           py37h8f50634_1    conda-forge
     arrow-cpp                 0.17.1          py37h1234567_11_cuda    conda-forge
     arrow-cpp-proc            1.0.0                      cuda    conda-forge
     attrs                     19.3.0                     py_0    conda-forge
     aws-sdk-cpp               1.7.164              hba45d7a_2    conda-forge
     babel                     2.8.0                      py_0    conda-forge
     backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
     backports                 1.0                        py_2    conda-forge
     backports.functools_lru_cache 1.6.1                      py_0    conda-forge
     black                     19.10b0                    py_4    conda-forge
     bleach                    3.1.5              pyh9f0ad1d_0    conda-forge
     bokeh                     2.1.1            py37hc8dfbb8_0    conda-forge
     boost-cpp                 1.72.0               h7b93d67_2    conda-forge
     brotli                    1.0.7             he1b5a44_1004    conda-forge
     brotlipy                  0.7.0           py37h8f50634_1000    conda-forge
     bzip2                     1.0.8                h516909a_2    conda-forge
     c-ares                    1.16.1               h516909a_0    conda-forge
     ca-certificates           2020.6.20            hecda079_0    conda-forge
     certifi                   2020.6.20        py37hc8dfbb8_0    conda-forge
     cffi                      1.14.1           py37h2b28604_0    conda-forge
     cfgv                      3.2.0                      py_0    conda-forge
     chardet                   3.0.4           py37hc8dfbb8_1006    conda-forge
     clang                     8.0.1                hc9558a2_2    conda-forge
     clang-tools               8.0.1                hc9558a2_2    conda-forge
     clangxx                   8.0.1                         2    conda-forge
     click                     7.1.2              pyh9f0ad1d_0    conda-forge
     cloudpickle               1.5.0                      py_0    conda-forge
     cmake                     3.18.0               h5c55442_0    conda-forge
     cmake_setuptools          0.1.3                      py_0    rapidsai
     commonmark                0.9.1                      py_0    conda-forge
     cryptography              3.0              py37hb09aad4_0    conda-forge
     cudatoolkit               10.2.89              h6bb024c_0    nvidia
     cudnn                     7.6.5                cuda10.2_0
     cupy                      7.7.0            py37h940342b_0    conda-forge
     curl                      7.71.1               he644dc0_4    conda-forge
     cython                    0.29.21          py37h3340039_0    conda-forge
     cytoolz                   0.10.1           py37h516909a_0    conda-forge
     dask                      2.22.0+14.g3a0550dd          pypi_0    pypi
     decorator                 4.4.2                      py_0    conda-forge
     defusedxml                0.6.0                      py_0    conda-forge
     distlib                   0.3.1              pyh9f0ad1d_0    conda-forge
     distributed               2.22.0+19.gc777de1c          pypi_0    pypi
     dlpack                    0.3                  he1b5a44_1    conda-forge
     docutils                  0.16             py37hc8dfbb8_1    conda-forge
     double-conversion         3.1.5                he1b5a44_2    conda-forge
     editdistance              0.5.3            py37h3340039_1    conda-forge
     entrypoints               0.3             py37hc8dfbb8_1001    conda-forge
     expat                     2.2.9                he1b5a44_2    conda-forge
     fastavro                  0.24.0           py37h8f50634_0    conda-forge
     fastrlock                 0.5              py37h3340039_0    conda-forge
     filelock                  3.0.12             pyh9f0ad1d_0    conda-forge
     flake8                    3.8.3                      py_1    conda-forge
     flatbuffers               1.12.0               he1b5a44_0    conda-forge
     freetype                  2.10.2               he06d7ca_0    conda-forge
     fsspec                    0.8.0                      py_0    conda-forge
     future                    0.18.2           py37hc8dfbb8_1    conda-forge
     gflags                    2.2.2             he1b5a44_1004    conda-forge
     glog                      0.4.0                h49b9bf7_3    conda-forge
     gmp                       6.2.0                he1b5a44_2    conda-forge
     grpc-cpp                  1.30.2               heedbac9_0    conda-forge
     heapdict                  1.0.1                      py_0    conda-forge
     hypothesis                5.24.3                     py_0    conda-forge
     icu                       67.1                 he1b5a44_0    conda-forge
     identify                  1.4.25             pyh9f0ad1d_0    conda-forge
     idna                      2.10               pyh9f0ad1d_0    conda-forge
     imagesize                 1.2.0                      py_0    conda-forge
     importlib-metadata        1.7.0            py37hc8dfbb8_0    conda-forge
     importlib_metadata        1.7.0                         0    conda-forge
     iniconfig                 1.0.1              pyh9f0ad1d_0    conda-forge
     ipykernel                 5.3.4            py37h43977f1_0    conda-forge
     ipython                   7.17.0           py37hc6149b9_0    conda-forge
     ipython_genutils          0.2.0                      py_1    conda-forge
     isort                     5.4.1            py37hc8dfbb8_0    conda-forge
     jedi                      0.17.2           py37hc8dfbb8_0    conda-forge
     jinja2                    2.11.2             pyh9f0ad1d_0    conda-forge
     jpeg                      9d                   h516909a_0    conda-forge
     jsonschema                3.2.0            py37hc8dfbb8_1    conda-forge
     jupyter_client            6.1.6                      py_0    conda-forge
     jupyter_core              4.6.3            py37hc8dfbb8_1    conda-forge
     krb5                      1.17.1               hfafb76e_2    conda-forge
     lcms2                     2.11                 hbd6801e_0    conda-forge
     ld_impl_linux-64          2.34                 hc38a660_9    conda-forge
     libblas                   3.8.0               17_openblas    conda-forge
     libcblas                  3.8.0               17_openblas    conda-forge
     libcurl                   7.71.1               hcdd3856_4    conda-forge
     libedit                   3.1.20191231         h46ee950_1    conda-forge
     libev                     4.33                 h516909a_0    conda-forge
     libevent                  2.1.10               hcdb4288_1    conda-forge
     libffi                    3.2.1             he1b5a44_1007    conda-forge
     libgcc-ng                 9.3.0               h24d8f2e_14    conda-forge
     libgfortran-ng            7.5.0               hdf63c60_14    conda-forge
     libgomp                   9.3.0               h24d8f2e_14    conda-forge
     liblapack                 3.8.0               17_openblas    conda-forge
     libllvm8                  8.0.1                hc9558a2_0    conda-forge
     libllvm9                  9.0.1                he513fc3_1    conda-forge
     libnghttp2                1.41.0               hab1572f_1    conda-forge
     libopenblas               0.3.10          pthreads_hb3c22a3_4    conda-forge
     libpng                    1.6.37               hed695b0_2    conda-forge
     libprotobuf               3.12.4               h8b12597_0    conda-forge
     librmm                    0.15.0a200813   cuda10.2_gcfbb297_659    rapidsai-nightly
     libsodium                 1.0.18               h516909a_0    conda-forge
     libssh2                   1.9.0                hab1572f_5    conda-forge
     libstdcxx-ng              9.3.0               hdf63c60_14    conda-forge
     libtiff                   4.1.0                hc7e4089_6    conda-forge
     libuv                     1.38.0               h516909a_0    conda-forge
     libwebp-base              1.1.0                h516909a_3    conda-forge
     llvmlite                  0.33.0           py37h5202443_1    conda-forge
     locket                    0.2.0                      py_2    conda-forge
     lz4-c                     1.9.2                he1b5a44_1    conda-forge
     markdown                  3.2.2                      py_0    conda-forge
     markupsafe                1.1.1            py37h8f50634_1    conda-forge
     mccabe                    0.6.1                      py_1    conda-forge
     mistune                   0.8.4           py37h8f50634_1001    conda-forge
     more-itertools            8.4.0                      py_0    conda-forge
     msgpack-python            1.0.0            py37h99015e2_1    conda-forge
     nbconvert                 5.6.1            py37hc8dfbb8_1    conda-forge
     nbformat                  5.0.7                      py_0    conda-forge
     nbsphinx                  0.7.1              pyh9f0ad1d_0    conda-forge
     nccl                      2.7.8.1              hc6a2c23_0    conda-forge
     ncurses                   6.2                  he1b5a44_1    conda-forge
     nodeenv                   1.4.0              pyh9f0ad1d_0    conda-forge
     notebook                  6.1.3            py37hc8dfbb8_0    conda-forge
     numba                     0.50.1           py37h0da4684_1    conda-forge
     numpy                     1.19.1           py37h8960a57_0    conda-forge
     numpydoc                  1.1.0              pyh9f0ad1d_0    conda-forge
     olefile                   0.46                       py_0    conda-forge
     openssl                   1.1.1g               h516909a_1    conda-forge
     packaging                 20.4               pyh9f0ad1d_0    conda-forge
     pandas                    1.0.5            py37h0da4684_0    conda-forge
     pandoc                    1.19.2                        0    conda-forge
     pandocfilters             1.4.2                      py_1    conda-forge
     parquet-cpp               1.5.1                         2    conda-forge
     parso                     0.7.1              pyh9f0ad1d_0    conda-forge
     partd                     1.1.0                      py_0    conda-forge
     pathspec                  0.8.0              pyh9f0ad1d_0    conda-forge
     pexpect                   4.8.0            py37hc8dfbb8_1    conda-forge
     pickleshare               0.7.5           py37hc8dfbb8_1001    conda-forge
     pillow                    7.2.0            py37h718be6c_1    conda-forge
     pip                       20.2.2                     py_0    conda-forge
     pluggy                    0.13.1           py37hc8dfbb8_2    conda-forge
     pre-commit                2.6.0            py37hc8dfbb8_0    conda-forge
     pre_commit                2.6.0                         0    conda-forge
     prometheus_client         0.8.0              pyh9f0ad1d_0    conda-forge
     prompt-toolkit            3.0.6                      py_0    conda-forge
     psutil                    5.7.2            py37h8f50634_0    conda-forge
     ptyprocess                0.6.0                   py_1001    conda-forge
     py                        1.9.0              pyh9f0ad1d_0    conda-forge
     pyarrow                   0.17.1          py37h1234567_11_cuda    conda-forge
     pycodestyle               2.6.0              pyh9f0ad1d_0    conda-forge
     pycparser                 2.20               pyh9f0ad1d_2    conda-forge
     pyflakes                  2.2.0              pyh9f0ad1d_0    conda-forge
     pygments                  2.6.1                      py_0    conda-forge
     pyopenssl                 19.1.0                     py_1    conda-forge
     pyparsing                 2.4.7              pyh9f0ad1d_0    conda-forge
     pyrsistent                0.16.0           py37h8f50634_0    conda-forge
     pysocks                   1.7.1            py37hc8dfbb8_1    conda-forge
     pytest                    6.0.1            py37hc8dfbb8_0    conda-forge
     python                    3.7.8           h6f2ec95_1_cpython    conda-forge
     python-dateutil           2.8.1                      py_0    conda-forge
     python_abi                3.7                     1_cp37m    conda-forge
     pytz                      2020.1             pyh9f0ad1d_0    conda-forge
     pyyaml                    5.3.1            py37h8f50634_0    conda-forge
     pyzmq                     19.0.2           py37hac76be4_0    conda-forge
     rapidjson                 1.1.0             he1b5a44_1002    conda-forge
     re2                       2020.07.06           he1b5a44_1    conda-forge
     readline                  8.0                  he28a2e2_2    conda-forge
     recommonmark              0.6.0                      py_0    conda-forge
     regex                     2020.7.14        py37h8f50634_0    conda-forge
     requests                  2.24.0             pyh9f0ad1d_0    conda-forge
     rhash                     1.3.6             h14c3975_1001    conda-forge
     rmm                       0.15.0a200813   py37_gcfbb297_659    rapidsai-nightly
     send2trash                1.5.0                      py_0    conda-forge
     setuptools                49.4.0           py37hc8dfbb8_0    conda-forge
     six                       1.15.0             pyh9f0ad1d_0    conda-forge
     snappy                    1.1.8                he1b5a44_3    conda-forge
     snowballstemmer           2.0.0                      py_0    conda-forge
     sortedcontainers          2.2.2              pyh9f0ad1d_0    conda-forge
     spdlog                    1.7.0                hc9558a2_2    conda-forge
     sphinx                    3.2.0                      py_0    conda-forge
     sphinx-copybutton         0.3.0              pyh9f0ad1d_0    conda-forge
     sphinx-markdown-tables    0.0.14             pyh9f0ad1d_1    conda-forge
     sphinx_rtd_theme          0.5.0              pyh9f0ad1d_0    conda-forge
     sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
     sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
     sphinxcontrib-htmlhelp    1.0.3                      py_0    conda-forge
     sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
     sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
     sphinxcontrib-serializinghtml 1.1.4                      py_0    conda-forge
     sphinxcontrib-websupport  1.2.4              pyh9f0ad1d_0    conda-forge
     sqlite                    3.32.3               hcee41ef_1    conda-forge
     streamz                   0.5.5                    pypi_0    pypi
     tblib                     1.6.0                      py_0    conda-forge
     terminado                 0.8.3            py37hc8dfbb8_1    conda-forge
     testpath                  0.4.4                      py_0    conda-forge
     thrift-cpp                0.13.0               h62aa4f2_2    conda-forge
     tk                        8.6.10               hed695b0_0    conda-forge
     toml                      0.10.1             pyh9f0ad1d_0    conda-forge
     toolz                     0.10.0                     py_0    conda-forge
     tornado                   6.0.4            py37h8f50634_1    conda-forge
     traitlets                 4.3.3            py37hc8dfbb8_1    conda-forge
     typed-ast                 1.4.1            py37h516909a_0    conda-forge
     typing_extensions         3.7.4.2                    py_0    conda-forge
     urllib3                   1.25.10                    py_0    conda-forge
     virtualenv                20.0.20          py37hc8dfbb8_1    conda-forge
     wcwidth                   0.2.5              pyh9f0ad1d_1    conda-forge
     webencodings              0.5.1                      py_1    conda-forge
     wheel                     0.34.2                     py_1    conda-forge
     xz                        5.2.5                h516909a_1    conda-forge
     yaml                      0.2.5                h516909a_0    conda-forge
     zeromq                    4.3.2                he1b5a44_3    conda-forge
     zict                      2.0.0                      py_0    conda-forge
     zipp                      3.1.0                      py_0    conda-forge
     zlib                      1.2.11            h516909a_1007    conda-forge
     zstd                      1.4.5                h6597ccf_2    conda-forge

jrhemstad commented 4 years ago

USE_NVTX is actually defunct and redundant. NVTX itself already has a NVTX_DISABLE macro we should use instead. We should just remove the USE_NVTX options all together.

rongou commented 4 years ago

Don't we still need a CMake option to turn NVTX on or off?