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

Can the ROOT 6.26.0 of conda support GPU? #164

Open
1 task done
shenzh15 opened this issue Mar 13, 2022 · 2 comments
Open
1 task done

Can the ROOT 6.26.0 of conda support GPU? #164

shenzh15 opened this issue Mar 13, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@shenzh15
Copy link

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

I'm using root6.26.00 by conda.
But I found the GPU cannot be used.
Is it possible use GPU in conda version root?
By the way, I can use GPU with the local compiled root.

The ouput is shown below:

root [0] 
Processing rf101_basics.C...
[#0] WARNING:Plotting -- Cannot apply a bin width correction and use Poisson errors. Not correcting for bin width.
[#1] INFO:Fitting -- RooAbsPdf::fitTo(gauss) fixing normalization set for coefficient determination to observables in data
terminate called after throwing an instance of 'std::runtime_error'
  what():  In: RooFitDriver(), /home/conda/feedstock_root/build_artifacts/root_base_1646481317233/work/root-source/roofit/roofitcore/src/RooFitDriver.cxx:201: Cuda implementation of the computing library is not available

Installed packages

# packages in environment at /home/shenzh/workdir/software/miniconda/envs/root_626:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
_sysroot_linux-64_curr_repodata_hack 3                   h5bd9786_13    conda-forge
afterimage                1.21              ha9998ff_1003    conda-forge
argon2-cffi               21.3.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0          py310h6acc77f_1    conda-forge
asttokens                 2.0.5              pyhd8ed1ab_0    conda-forge
atk-1.0                   2.36.0               h3371d22_4    conda-forge
attrs                     21.4.0             pyhd8ed1ab_0    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.10.0             pyha770c72_0    conda-forge
binutils                  2.36.1               hdd6e379_2    conda-forge
binutils_impl_linux-64    2.36.1               h193b22a_2    conda-forge
binutils_linux-64         2.36                 hf3e587d_7    conda-forge
bleach                    4.1.0              pyhd8ed1ab_0    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
c-compiler                1.4.1                h166bdaf_0    conda-forge
ca-certificates           2021.10.8            ha878542_0    conda-forge
cairo                     1.16.0            ha12eb4b_1010    conda-forge
cffi                      1.15.0          py310h0fdd8cc_0    conda-forge
cfitsio                   4.0.0                h9a35b8e_0    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
compilers                 1.4.1                ha770c72_0    conda-forge
cxx-compiler              1.4.1                h924138e_0    conda-forge
davix                     0.8.0                h40e8b40_3    conda-forge
debugpy                   1.5.1           py310h122e73d_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
executing                 0.8.3              pyhd8ed1ab_0    conda-forge
expat                     2.4.7                h27087fc_0    conda-forge
fftw                      3.3.10          nompi_h77c792f_102    conda-forge
flit-core                 3.7.1              pyhd8ed1ab_0    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.13.96              h8e229c2_2    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
fortran-compiler          1.4.1                h2a4ca65_0    conda-forge
freetype                  2.10.4               h0708190_1    conda-forge
fribidi                   1.0.10               h36c2ea0_0    conda-forge
ftgl                      2.4.0                hbcb1f35_0    conda-forge
gcc                       10.3.0               he2824d0_7    conda-forge
gcc_impl_linux-64         10.3.0              hf2f2afa_13    conda-forge
gcc_linux-64              10.3.0               hc39de41_7    conda-forge
gdk-pixbuf                2.42.6               h04a7f16_0    conda-forge
gettext                   0.19.8.1          h73d1719_1008    conda-forge
gfortran                  10.3.0               h18518b4_7    conda-forge
gfortran_impl_linux-64    10.3.0              h73f4979_13    conda-forge
gfortran_linux-64         10.3.0               hb09a455_7    conda-forge
giflib                    5.2.1                h36c2ea0_2    conda-forge
gl2ps                     1.4.2                h0708190_0    conda-forge
glew                      2.1.0                h9c3ff4c_2    conda-forge
graphite2                 1.3.13            h58526e2_1001    conda-forge
graphviz                  2.50.0               h8e749b2_2    conda-forge
gsl                       2.7                  he838d99_0    conda-forge
gsoap                     2.8.119              h90a1d37_0    conda-forge
gtk2                      2.24.33              h90689f9_2    conda-forge
gts                       0.7.6                h64030ff_2    conda-forge
gxx                       10.3.0               he2824d0_7    conda-forge
gxx_impl_linux-64         10.3.0              hf2f2afa_13    conda-forge
gxx_linux-64              10.3.0               h2593f52_7    conda-forge
harfbuzz                  3.4.0                hb4a5f5f_0    conda-forge
icu                       69.1                 h9c3ff4c_0    conda-forge
importlib-metadata        4.11.2          py310hff52083_0    conda-forge
importlib_resources       5.4.0              pyhd8ed1ab_0    conda-forge
ipykernel                 6.9.1           py310hfdc917e_0    conda-forge
ipyparallel               8.2.0              pyhd8ed1ab_0    conda-forge
ipython                   8.1.1           py310hff52083_0    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
jbig                      2.1               h7f98852_2003    conda-forge
jedi                      0.18.1          py310hff52083_0    conda-forge
jinja2                    3.0.3              pyhd8ed1ab_0    conda-forge
jpeg                      9e                   h7f98852_0    conda-forge
jsonschema                4.4.0              pyhd8ed1ab_0    conda-forge
jupyter_client            7.1.2              pyhd8ed1ab_0    conda-forge
jupyter_core              4.9.2           py310hff52083_0    conda-forge
jupyterlab_pygments       0.1.2              pyh9f0ad1d_0    conda-forge
kernel-headers_linux-64   3.10.0              h4a8ded7_13    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.19.2               h3790be6_4    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
lerc                      3.0                  h9c3ff4c_0    conda-forge
libblas                   3.9.0           13_linux64_openblas    conda-forge
libcblas                  3.9.0           13_linux64_openblas    conda-forge
libcurl                   7.82.0               h7bff187_0    conda-forge
libcxx                    12.0.1               h4bd325d_1    conda-forge
libcxxabi                 12.0.1               ha770c72_1    conda-forge
libdeflate                1.10                 h7f98852_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-devel_linux-64     10.3.0              he6cfe16_13    conda-forge
libgcc-ng                 11.2.0              h1d223b6_13    conda-forge
libgd                     2.3.3                h283352f_2    conda-forge
libgfortran-ng            11.2.0              h69a702a_13    conda-forge
libgfortran5              11.2.0              h5c6108e_13    conda-forge
libglib                   2.70.2               h174f98d_4    conda-forge
libglu                    9.0.0             he1b5a44_1001    conda-forge
libgomp                   11.2.0              h1d223b6_13    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
liblapack                 3.9.0           13_linux64_openblas    conda-forge
libllvm11                 11.1.0               hf817b99_3    conda-forge
libllvm9                  9.0.1           default_hc23dcda_7    conda-forge
libnghttp2                1.47.0               h727a467_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libopenblas               0.3.18          pthreads_h8fe5266_0    conda-forge
libpng                    1.6.37               h21135ba_2    conda-forge
librsvg                   2.52.5               h0a9e6e8_2    conda-forge
libsanitizer              10.3.0              h26c7422_13    conda-forge
libsodium                 1.0.18               h36c2ea0_1    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-devel_linux-64  10.3.0              he6cfe16_13    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_13    conda-forge
libtiff                   4.3.0                h542a066_3    conda-forge
libtool                   2.4.6             h9c3ff4c_1008    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libwebp                   1.2.2                h3452ae3_0    conda-forge
libwebp-base              1.2.2                h7f98852_1    conda-forge
libxcb                    1.13              h7f98852_1004    conda-forge
libxml2                   2.9.12               h885dcf4_1    conda-forge
libzlib                   1.2.11            h36c2ea0_1013    conda-forge
llvmlite                  0.38.0          py310hee97dad_0    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
markupsafe                2.1.0           py310h5764c6d_1    conda-forge
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
metakernel                0.28.2             pyhd8ed1ab_0    conda-forge
mistune                   0.8.4           py310h6acc77f_1005    conda-forge
nbclient                  0.5.13             pyhd8ed1ab_0    conda-forge
nbconvert                 6.4.4           py310hff52083_0    conda-forge
nbformat                  5.2.0              pyhd8ed1ab_0    conda-forge
ncurses                   6.3                  h9c3ff4c_0    conda-forge
nest-asyncio              1.5.4              pyhd8ed1ab_0    conda-forge
nlohmann_json             3.10.5               h9c3ff4c_0    conda-forge
notebook                  6.4.8              pyha770c72_0    conda-forge
numba                     0.55.1          py310hc55943c_0    conda-forge
numpy                     1.21.5          py310h647a097_0    conda-forge
openssl                   1.1.1l               h7f98852_0    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
pandoc                    2.17.1.1             ha770c72_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
pango                     1.50.5               h4dcc4a0_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pip                       22.0.4             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h36c2ea0_0    conda-forge
portalocker               2.4.0           py310hff52083_0    conda-forge
prometheus_client         0.13.1             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.27             pyha770c72_0    conda-forge
psutil                    5.9.0           py310h6acc77f_0    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pygments                  2.11.2             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.7              pyhd8ed1ab_0    conda-forge
pyrsistent                0.18.1          py310h6acc77f_0    conda-forge
pythia8                   8.8             py310h122e73d_0    conda-forge
python                    3.10.2          h85951f9_4_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.10                    2_cp310    conda-forge
pyzmq                     22.3.0          py310h675a958_1    conda-forge
readline                  8.1                  h46c0cb4_0    conda-forge
root                      6.26.0          py310h769672d_0    conda-forge
root_base                 6.26.0          py310hfaa99c0_0    conda-forge
scitokens-cpp             0.6.3                h00015f2_2    conda-forge
send2trash                1.8.0              pyhd8ed1ab_0    conda-forge
setuptools                60.9.3          py310hff52083_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
soupsieve                 2.3.1              pyhd8ed1ab_0    conda-forge
sqlite                    3.37.0               h9cd32fc_0    conda-forge
stack_data                0.2.0              pyhd8ed1ab_0    conda-forge
sysroot_linux-64          2.17                h4a8ded7_13    conda-forge
tbb                       2021.5.0             h4bd325d_0    conda-forge
terminado                 0.13.3          py310hff52083_0    conda-forge
testpath                  0.6.0              pyhd8ed1ab_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
tornado                   6.1             py310h6acc77f_2    conda-forge
tqdm                      4.63.0             pyhd8ed1ab_0    conda-forge
traitlets                 5.1.1              pyhd8ed1ab_0    conda-forge
tzdata                    2021e                he74cb21_0    conda-forge
vdt                       0.4.3                h9c3ff4c_0    conda-forge
vector-classes            1.4.2                h4bd325d_1    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
webencodings              0.5.1                      py_1    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xorg-fixesproto           5.0               h7f98852_1002    conda-forge
xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
xorg-libice               1.0.10               h7f98852_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.6.12               h36c2ea0_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxcursor           1.2.0                h516909a_0    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xorg-libxext              1.3.4                h516909a_0    conda-forge
xorg-libxfixes            5.0.3             h516909a_1004    conda-forge
xorg-libxft               2.3.4                h8aea5ac_0    conda-forge
xorg-libxpm               3.5.13               h516909a_0    conda-forge
xorg-libxrender           0.9.10            h516909a_1002    conda-forge
xorg-libxt                1.1.5             h516909a_1003    conda-forge
xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
xorg-xextproto            7.3.0             h7f98852_1002    conda-forge
xorg-xproto               7.0.31            h7f98852_1007    conda-forge
xrootd                    5.4.1           py310hf716355_0    conda-forge
xxhash                    0.8.0                h7f98852_3    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zeromq                    4.3.4                h9c3ff4c_1    conda-forge
zipp                      3.7.0              pyhd8ed1ab_1    conda-forge
zlib                      1.2.11            h36c2ea0_1013    conda-forge
zstd                      1.5.2                ha95c52a_0    conda-forge

Environment info

active environment : root_626
    active env location : /home/shenzh/workdir/software/miniconda/envs/root_626
            shell level : 1
       user config file : /home/shenzh/.condarc
 populated config files : /home/shenzh/.condarc
          conda version : 4.11.0
    conda-build version : not installed
         python version : 3.7.6.final.0
       virtual packages : __cuda=11.1=0
                          __linux=3.10.0=0
                          __glibc=2.17=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/shenzh/workdir/software/miniconda  (writable)
      conda av data dir : /home/shenzh/workdir/software/miniconda/etc/conda
  conda av metadata url : None
           channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/linux-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/noarch
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/linux-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/noarch
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/linux-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/noarch
          package cache : /home/shenzh/workdir/software/miniconda/pkgs
                          /home/shenzh/.conda/pkgs
       envs directories : /home/shenzh/workdir/software/miniconda/envs
                          /home/shenzh/.conda/envs
               platform : linux-64
             user-agent : conda/4.11.0 requests/2.27.1 CPython/3.7.6 Linux/3.10.0-1160.49.1.el7.x86_64 centos/7.9.2009 glibc/2.17
                UID:GID : 1003:1000
             netrc file : None
           offline mode : False
@shenzh15 shenzh15 added the bug Something isn't working label Mar 13, 2022
@chrisburr
Copy link
Member

chrisburr commented Mar 14, 2022

It definitly can be included, though I'm slightly worried about the build matrix exploding. (Expanding linux-64/linux-ppc64le/linux-aarch64 + Python 3.7/3.8/3.9/3.10 + CUDA None/10.2/11.0/11.1/11.2 means 60 Linux builds!)

Do you know if it's possible to build the CUDA enabled parts of RooFit separately?

@chrisburr chrisburr added enhancement New feature or request and removed bug Something isn't working labels Mar 14, 2022
@shenzh15
Copy link
Author

Hi, I'm not an expert of ROOT.
But from the slides shown here:
https://indico.cern.ch/event/855454/contributions/4596763/attachments/2356539/4021590/Accelerating%20RooFit%20with%20GPUs.pdf
slide 6.
The new root can automaticly inspect the hardware and load the right library at runtime.
No need to recompile ROOT for our system.

However, I have no specific solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants