Giter Club home page Giter Club logo

conda-recipe-cudatoolkit's Introduction

Numba

Gitter

Discourse

Zenodo DOI

PyPI

A Just-In-Time Compiler for Numerical Functions in Python

Numba is an open source, NumPy-aware optimizing compiler for Python sponsored by Anaconda, Inc. It uses the LLVM compiler project to generate machine code from Python syntax.

Numba can compile a large subset of numerically-focused Python, including many NumPy functions. Additionally, Numba has support for automatic parallelization of loops, generation of GPU-accelerated code, and creation of ufuncs and C callbacks.

For more information about Numba, see the Numba homepage: https://numba.pydata.org and the online documentation: https://numba.readthedocs.io/en/stable/index.html

Installation

Please follow the instructions:

https://numba.readthedocs.io/en/stable/user/installing.html

Demo

Please have a look and the demo notebooks via the mybinder service:

https://mybinder.org/v2/gh/numba/numba-examples/master?filepath=notebooks

Contact

Numba has a discourse forum for discussions:

conda-recipe-cudatoolkit's People

Contributors

jjhelmus avatar seibert avatar sklam avatar stuartarchibald avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

conda-recipe-cudatoolkit's Issues

Should cudatoolkit set NUMBAPRO_CUDALIB on Windows?

Not quite sure exactly who this is an issue for, but here goes.

I finally got numba -s to correctly recognise my GPU by using cudatoolkit (current version 10.0) and not the nVidia CUDA SDK (currently at version 10.1). I got the following output:

__CUDA Information__
Found 1 CUDA devices
id 0        b'GeForce MX130'                              [SUPPORTED]
                      compute capability: 5.0
                           pci device id: 0
                              pci bus id: 3
Summary:
        1/1 devices are supported
CUDA driver version                           : 10010
CUDA libraries:
Finding cublas
        ERROR: can't locate lib
Finding cusparse
        ERROR: can't locate lib
Finding cufft
        ERROR: can't locate lib
Finding curand
        ERROR: can't locate lib
Finding nvvm
        named  nvvm64_33_0.dll
        finding libdevice for compute_20...     ok
        finding libdevice for compute_30...     ok
        finding libdevice for compute_35...     ok
        finding libdevice for compute_50...     ok

This page helped me realise that I needed to manually set NUMBAPRO_CUDALIB. I searched for cublas64_100.dll and set NUMBAPRO_CUDALIB manually, I then got output which showed that the libraries had been found:

__CUDA Information__
Found 1 CUDA devices
id 0        b'GeForce MX130'                              [SUPPORTED]
                      compute capability: 5.0
                           pci device id: 0
                              pci bus id: 3
Summary:
        1/1 devices are supported
CUDA driver version                           : 10010
CUDA libraries:
Finding cublas
        named  cublas64_100.dll
        trying to open library...       ok
Finding cusparse
        named  cusparse64_100.dll
        trying to open library...       ok
Finding cufft
        named  cufft64_100.dll
        trying to open library...       ok
Finding curand
        named  curand64_100.dll
        trying to open library...       ok
Finding nvvm
        named  nvvm64_33_0.dll
        trying to open library...       ok
        finding libdevice for compute_20...     ok
        finding libdevice for compute_30...     ok
        finding libdevice for compute_35...     ok
        finding libdevice for compute_50...     ok

Should cudatoolkit be setting NUMBAPRO_CUDALIB in Windows (and perhaps other OSes too?) to save others this pain? Or is this a matter for numba itself?

Include `libcudadevrt.a`

Include libcudadevrt.a (or the equivalents on other platforms) so you can link kernels to the NVRTC built-ins.

Windows package puts DLLs in DLLs folder instead of standard Library\bin

As described in anaconda-issues #6431, the placement of cudatoolkit libraries in DLLs on Windows keeps other packages from being able to use these libraries without hardcoding their paths. The current convention seems to place VC++ DLLs in Library\bin. It seems like it would make more sense to place the DLLs there and then create hardlinks in any other locations which are required for numba compatibility. See PR #7 for possible solution.

Separate cudatoolkit package into individual CUDA libraries

The current package puts all the cuda libraries into a single package which wastes a significant amount of disk space/bandwidth when dependent packages only require the CUDA runtime, or CUDA BLAS, etc. It makes more sense to have cudatoolkit be a metapackage that depends on individual CUDA libraries. See PR #7 for possible solution.

NVTOOLSEXT_INSTALL_PATH is invalid or inaccessible

When building the windows package (https://ci.appveyor.com/project/andersy005/conda-recipes), I am getting ValueError: NVTOOLSEXT_INSTALL_PATH is invalid or inaccessible.
The comments in build.py mention:

"To accommodate nvtoolsext not being present as a DLL in the installer PE32s on windows, the windows variant of this script supports assembly directly from a pre-installed CUDA toolkit. The environment variable "NVTOOLSEXT_INSTALL_PATH" can be set to the
installation path of the CUDA toolkit's NvToolsExt location (this is not the user defined install directory) and the DLL will be taken from that location."

I can't figure out what to set this variable to. Is there a default value/known installation path for the NVTOOLSEXT_INSTALL_PATH variable?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.