Home for cuQuantum Python & NVIDIA cuQuantum SDK C++ samples

Overview

Welcome to the cuQuantum repository!

This public repository contains two sets of files related to the NVIDIA cuQuantum SDK:

  • samples: All C/C++ sample codes for the cuQuantum SDK.
  • python: The open-sourced cuQuantum Python project.

Other components of the cuQuantum SDK can be accessed following the instruction given in the documentation.

Installation

The instructions for how to build and install these files are given in both the subfolders and the cuQuantum documentation.

License

All files hosted in this repository are subject to the BSD-3-Clause license.

Comments
  • compile tensornet_example.cu

    compile tensornet_example.cu

    Hi, I'm trying to follow the instruction on how to compile tensornet_example.cu . https://github.com/NVIDIA/cuQuantum/tree/main/samples/cutensornet I think it is inconsistent because it says: export CUTENSORNET_ROOT=<path_to_custatevec_root>

    but currently, custatevec is not part of CUTENSORNET anymore. It is a part of CUQUANTUM. I'm referring to this pair:

    https://developer.download.nvidia.com/compute/cuquantum/redist/cuquantum/linux-x86_64/cuquantum-linux-x86_64-0.1.0.30-archive.tar.xz

    https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/libcutensor-linux-x86_64-1.4.0.6-archive.tar.xz Can you please clarify how to configure the Makefile to work with these 2 libs and compile tensornet_example.cu ? Thanks Jan Balewski, NERSC

    opened by balewski 18
  • [Question/Issue] How to install cuquantum on WSL2 Ubuntu-20.04?

    [Question/Issue] How to install cuquantum on WSL2 Ubuntu-20.04?

    I'm unsure whether this is an issue on my side, or just a missing compatibility. **Problem: ** When installing custatevec on Ubuntu 20.04 (on WSL2), it fails on the last of the following commands:

    $ wget https://developer.download.nvidia.com/compute/cuquantum/22.07.1/local_installers/cuquantum-local-repo-ubuntu2004-22.07.1_1.0-1_amd64.deb
    $ sudo dpkg -i cuquantum-local-repo-ubuntu2004-22.07.1_1.0-1_amd64.deb
    $ sudo cp /var/cuquantum-local-repo-ubuntu2004-22.07.1/cuquantum-*-keyring.gpg /usr/share/keyrings/
    $ sudo apt-get update
    $ sudo apt-get -y install cuquantum cuquantum-dev cuquantum-doc
    

    with the following cuBLAS error:

    $ sudo apt-get -y install cuquantum cuquantum-dev cuquantum-doc
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     cuquantum : Depends: libcublaslt.so.11 but it is not installable or
                          libcublas-11-0 but it is not installable or
                          libcublas-11-1 but it is not installable or
                          libcublas-11-2 but it is not installable or
                          libcublas-11-3 but it is not installable or
                          libcublas-11-4 but it is not installable or
                          libcublas-11-5 but it is not installable or
                          libcublas-11-6 but it is not installable
                 Depends: libcutensor1 but it is not installable
    E: Unable to correct problems, you have held broken packages.
    

    Any idea what may be causing this? I looked into cublas directly but I thought it may be too invasive for such a simple issue. I already have custatevec working on an ubuntu GCP instance so I'm wondering if this is due to an incompatibility with Window's Subsystem for Linux 2.

    opened by Sinestro38 9
  • CUTENSORNET_STATUS_CUTENSOR_VERSION_MISMATCH in line 198

    CUTENSORNET_STATUS_CUTENSOR_VERSION_MISMATCH in line 198

    I am trying to compile the examples in the /samples/cutensornet directory and the compilation is successful, however it fails at runtime with the error in the subject.

    According to https://github.com/NVIDIA/cuQuantum/blob/main/samples/cutensornet/README.md and https://docs.nvidia.com/cuda/cuquantum/cutensornet/index.html as of today, I must have

    I actually have

    • cuTensorNet v1.1.0
    • CUDA Version: 11.7 with Driver Version: 515.48.07
    • cuTENSOR v1.6.0.3 (from libcutensor-linux-x86_64-1.6.0.3-archive)

    So I meet all the requirements but still get that error. The only thing I can think is that libcutensor libraries are split in 3 directories for 10.2, 11, and 11.0 so perhaps CUDA v11.7 is too new? Does anybody has any insight?

    opened by davide-q 9
  • pip module search for libcublas.so.11

    pip module search for libcublas.so.11

    Environment:

    • Ubuntu 20.04 LTS
    • Python 3.8

    Symptom:

    >>> import cuquantum
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/local/lib/python3.8/dist-packages/cuquantum/__init__.py", line 1, in <module>
        from cuquantum import custatevec
      File "/usr/local/lib/python3.8/dist-packages/cuquantum/custatevec/__init__.py", line 1, in <module>
        from cuquantum.custatevec.custatevec import *
    ImportError: libcublas.so.11: cannot open shared object file: No such file or directory
    
    

    I guess that pyculib should be converted to pip, too.

    opened by sanori 6
  • Dockerfile install

    Dockerfile install

    Hi,

    I am trying to build an image with cuquantum and the code samples installed. Here is what I have so far, compiled from the README here and in the documentation :

    FROM nvcr.io/nvidia/pytorch:22.01-py3
    
    # Get cuquantum
    ENV CUQUANTUM_ROOT=/opt/cuquantum0.1.0.30
    ARG TARFILE=cuquantum-linux-x86_64-0.1.0.30-archive.tar.xz
    RUN wget -O /tmp/${TARFILE} \
        https://developer.download.nvidia.com/compute/cuquantum/redist/linux-x86_64/${TARFILE} && \
        mkdir -p ${CUQUANTUM_ROOT} && \
        tar xvf /tmp/${TARFILE} -C ${CUQUANTUM_ROOT} --strip-components=1 && \
        #lib64/ is missing, symlink it to lib/
        ln -s ${CUQUANTUM_ROOT}/lib ${CUQUANTUM_ROOT}/lib64 && \
        rm /tmp/${TARFILE}
    ENV LD_LIBRARY_PATH=${CUQUANTUM_ROOT}/lib:${LD_LIBRARY_PATH}
    
    # Install cuquantum python bindings, remove previous cupy version
    # TODO verify
    RUN pip uninstall -y cupy-cuda115 && \
        conda install -c conda-forge cuquantum-python
    
    
    ENV CUSTATEVEC_ROOT=${CUQUANTUM_ROOT}
    ENV CUTENSORNET_ROOT=${CUQUANTUM_ROOT}
    ENV PATH=/usr/local/cuda/bin/:${PATH}
    
    # Get samples repo
    ARG TARFILE=v0.1.0.0.tar.gz
    RUN wget -O /tmp/${TARFILE} https://github.com/NVIDIA/cuQuantum/archive/refs/tags/${TARFILE} && \
        mkdir -p ${CUSTATEVEC_ROOT}/code_samples && \
        tar xvf /tmp/${TARFILE} -C ${CUSTATEVEC_ROOT}/code_samples --strip-components=1 && \
        rm /tmp/${TARFILE}
    

    The image has cupy-cuda115, the conda install of cuquantum-python installs another version of cupy as a dependency so I uninstall the old one (it will complain during import if both are available). make all builds successfully (though the lib64->lib symlink is needed for it to work), but I am unable to run the python samples without hitting import errors.

    I am running on an intel-chip mac, just trying to clear up the import errors before we run this on a cloud instance with an nvidia GPU mounted in.

    Before posting any stacktraces, am I on the right track here? Maybe I should use a different base image that has an equivalent version of cupy. I'm also not sure if the cuda version is incompatible.

    I am happy to submit a PR with the working Dockerfile once we figure this all out :)

    question 
    opened by brian-dellabetta 6
  • distributed_reset_configuration failed:  python: distributed_interfaces/cutensornet_distributed_interface_mpi.c:44: unpackMpiCommunicator: Assertion `sizeof(MPI_Comm) == comm->commSize' failed.

    distributed_reset_configuration failed: python: distributed_interfaces/cutensornet_distributed_interface_mpi.c:44: unpackMpiCommunicator: Assertion `sizeof(MPI_Comm) == comm->commSize' failed.

    Under the following setup.

    Hardware: INSPUR NF5488M5 (V100 version) environments: Ubuntu 22.04.1 LTS Python 3.9.15 Nvidia driver: 525.60.13 cuda_12.0.r12.0 mpich-4.0.3 mpi4py 3.1.4 cuquantum 22.11.0

    When I run /cuQuantum/python/samples/cutensornet/tensornet_example_mpi.py , I got. It works .

    *** Printing is done only from the root process to prevent jumbled messages ***
    The number of processes is 1
    cuTensorNet-vers: 20000
    ===== root process device info ======
    GPU-name: Tesla V100-SXM3-32GB
    GPU-clock: 1597000
    GPU-memoryClock: 958000
    GPU-nSM: 80
    GPU-major: 7
    GPU-minor: 0
    ========================
    Include headers and define data types.
    Define network, modes, and extents.
    Initialize the cuTensorNet library and create a network descriptor.
    Process 0 has the path with the lowest FLOP count 4299161600.0.
    Find an optimized contraction path with cuTensorNet optimizer.
    Allocate workspace.
    Create a contraction plan for cuTENSOR and optionally auto-tune it.
    Contract the network, each slice uses the same contraction plan.
    Check cuTensorNet result against that of cupy.einsum().
    num_slices: 1
    0.8309440016746521 ms / slice
    5173.82831013358 GFLOPS/s
    Free resource and exit.
    

    But when I run /cuQuantum/python/samples/cutensornet/tensornet_example_mpi_auto.py I got the following error.

    *** Printing is done only from the root process to prevent jumbled messages ***
    The number of processes is 1
    cuTensorNet-vers: 20000
    ===== root process device info ======
    GPU-name: Tesla V100-SXM3-32GB
    GPU-clock: 1597000
    GPU-memoryClock: 958000
    GPU-nSM: 80
    GPU-major: 7
    GPU-minor: 0
    ========================
    Include headers and define data types.
    Define network, modes, and extents.
    Initialize the cuTensorNet library and create a network descriptor.
    python: distributed_interfaces/cutensornet_distributed_interface_mpi.c:44: unpackMpiCommunicator: Assertion `sizeof(MPI_Comm) == comm->commSize' failed.
    [suneo:06467] *** Process received signal ***
    [suneo:06467] Signal: Aborted (6)
    [suneo:06467] Signal code:  (-6)
    [suneo:06467] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f55bbd22520]
    [suneo:06467] [ 1] /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c)[0x7f55bbd76a7c]
    [suneo:06467] [ 2] /lib/x86_64-linux-gnu/libc.so.6(raise+0x16)[0x7f55bbd22476]
    [suneo:06467] [ 3] /lib/x86_64-linux-gnu/libc.so.6(abort+0xd3)[0x7f55bbd087f3]
    [suneo:06467] [ 4] /lib/x86_64-linux-gnu/libc.so.6(+0x2871b)[0x7f55bbd0871b]
    [suneo:06467] [ 5] /lib/x86_64-linux-gnu/libc.so.6(+0x39e96)[0x7f55bbd19e96]
    [suneo:06467] [ 6] /home/tsujino/anaconda3/envs/cu/lib/libcutensornet_distributed_interface_mpi.so(+0x123c)[0x7f553de1223c]
    [suneo:06467] [ 7] /home/tsujino/anaconda3/envs/cu/lib/libcutensornet_distributed_interface_mpi.so(cutensornetMpiCommRank+0x23)[0x7f553de122ae]
    [suneo:06467] [ 8] /home/tsujino/anaconda3/envs/cu/lib/python3.9/site-packages/cuquantum/cutensornet/../../../../libcutensornet.so.2(+0x105462)[0x7f554c705462]
    [suneo:06467] [ 9] /home/tsujino/anaconda3/envs/cu/lib/python3.9/site-packages/cuquantum/cutensornet/../../../../libcutensornet.so.2(+0x1056bd)[0x7f554c7056bd]
    [suneo:06467] [10] /home/tsujino/anaconda3/envs/cu/lib/python3.9/site-packages/cuquantum/cutensornet/../../../../libcutensornet.so.2(+0x1058ed)[0x7f554c7058ed]
    [suneo:06467] [11] /home/tsujino/anaconda3/envs/cu/lib/python3.9/site-packages/cuquantum/cutensornet/../../../../libcutensornet.so.2(cutensornetDistributedResetConfiguration+0xd3)[0x7f554c703633]
    [suneo:06467] [12] /home/tsujino/anaconda3/envs/cu/lib/python3.9/site-packages/cuquantum/cutensornet/cutensornet.cpython-39-x86_64-linux-gnu.so(+0x26063)[0x7f554e65c063]
    [suneo:06467] [13] python[0x507457]
    [suneo:06467] [14] python(_PyObject_MakeTpCall+0x2ec)[0x4f068c]
    [suneo:06467] [15] python(_PyEval_EvalFrameDefault+0x525b)[0x4ec9fb]
    [suneo:06467] [16] python[0x4e689a]
    [suneo:06467] [17] python(_PyEval_EvalCodeWithName+0x47)[0x4e6527]
    [suneo:06467] [18] python(PyEval_EvalCodeEx+0x39)[0x4e64d9]
    [suneo:06467] [19] python(PyEval_EvalCode+0x1b)[0x59329b]
    [suneo:06467] [20] python[0x5c0ad7]
    [suneo:06467] [21] python[0x5bcb00]
    [suneo:06467] [22] python[0x4566f4]
    [suneo:06467] [23] python(PyRun_SimpleFileExFlags+0x1a2)[0x5b67e2]
    [suneo:06467] [24] python(Py_RunMain+0x37e)[0x5b3d5e]
    [suneo:06467] [25] python(Py_BytesMain+0x39)[0x587349]
    [suneo:06467] [26] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f55bbd09d90]
    [suneo:06467] [27] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7f55bbd09e40]
    [suneo:06467] [28] python[0x5871fe]
    [suneo:06467] *** End of error message ***
    Aborted (core dumped)
    

    I have tried other smaples and those works.

    opened by koichi-tsujino 5
  • How to run a browser for jupyter notebook in cuQuantum docker environment ?

    How to run a browser for jupyter notebook in cuQuantum docker environment ?

    Nvidia cuQuantum Following the well designed documentation I was able to successfully get this to run. I am using terminal to write my Quantum experiments.I want to know how to run a jupyter notebook inside docker container. After installing jupyter in docker and running it gives a link that doesn't open in a browser of my linux system.I then installed firefox inside cuQuantum docker but it doesn't launch the browser. Gives a display not found error.How can I run my experiments in jupyter ?

    opened by ShashiQubit 3
  • cuQuantum Python v22.03.0: `ModuleNotFoundError: No module named 'typing_extensions'`

    cuQuantum Python v22.03.0: `ModuleNotFoundError: No module named 'typing_extensions'`

    Workaround: please install typing_extensions via pip or conda:

    pip install typing_extensions
    

    or

    conda install -c conda-forge typing_extensions
    

    Symptom:

    leof:~$ python
    Python 3.9.10 | packaged by conda-forge | (main, Feb  1 2022, 21:24:37) 
    [GCC 9.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import cuquantum
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/home/leof/miniforge3/envs/ppqwqq/lib/python3.9/site-packages/cuquantum/__init__.py", line 2, in <module>
        from cuquantum import cutensornet
      File "/home/leof/miniforge3/envs/ppqwqq/lib/python3.9/site-packages/cuquantum/cutensornet/__init__.py", line 2, in <module>
        from cuquantum.cutensornet.configuration import *
      File "/home/leof/miniforge3/envs/ppqwqq/lib/python3.9/site-packages/cuquantum/cutensornet/configuration.py", line 19, in <module>
        from .memory import BaseCUDAMemoryManager
      File "/home/leof/miniforge3/envs/ppqwqq/lib/python3.9/site-packages/cuquantum/cutensornet/memory.py", line 7, in <module>
        from typing_extensions import Protocol, runtime_checkable
    ModuleNotFoundError: No module named 'typing_extensions'
    
    opened by leofang 3
  • CircuitToEinsum for QFT: batched_amplitudes slower than qsim full statevector simulation

    CircuitToEinsum for QFT: batched_amplitudes slower than qsim full statevector simulation

    I was trying to reproduce the statement in https://developer.nvidia.com/blog/nvidia-announces-cuquantum-beta-availability-record-quantum-benchmark-and-quantum-container/, in particular

    Quantum Fourier Transform – accelerated from 29 mins down to 19 secs

    I'm running the following minimal reproducer on Python 3.8, cuQuantum 22.11, NVIDIA A100 40 GB (on a GCP instance)

    import time
    
    import cirq
    import qsimcirq
    import cupy
    from cuquantum import contract
    from cuquantum import CircuitToEinsum
    
    simulator = qsimcirq.QSimSimulator()
    
    # See https://quantumai.google/cirq/experiments/textbook_algorithms
    def make_qft(qubits):
        """Generator for the QFT on a list of qubits."""
        qreg = list(qubits)
        while len(qreg) > 0:
            q_head = qreg.pop(0)
            yield cirq.H(q_head)
            for i, qubit in enumerate(qreg):
                yield (cirq.CZ ** (1 / 2 ** (i + 1)))(qubit, q_head)
    
    
    def simulate_and_measure(nqubits):
        qubits = cirq.LineQubit.range(nqubits)
        qft = cirq.Circuit(make_qft(qubits))
    
        myconverter = CircuitToEinsum(qft, backend=cupy)
    
        tic = time.time()
        simulator.simulate(qft)
        elapsed_qsim = time.time() - tic
        out = {"qsim": elapsed_qsim}
    
        # CUDA expectation
        pauli_string = {qubits[0]: 'Z'}
        expression, operands = myconverter.expectation(pauli_string, lightcone=True)
        tic = time.time()
        contract(expression, *operands)
        elapsed = time.time() - tic
        out["cu_expectation"] = elapsed
    
        # CUDA Batched amplitudes
        # Fix everything but last qubit
        fixed_states = "0" * (nqubits - 1)
        fixed_index = tuple(map(int, fixed_states))
        num_fixed = len(fixed_states)
        fixed = dict(zip(myconverter.qubits[:num_fixed], fixed_states))
        expression, operands = myconverter.batched_amplitudes(fixed)
        tic = time.time()
        contract(expression, *operands)
        elapsed = time.time() - tic
        out["cu_batched"] = elapsed
    
        return out
    
    for i in [10, 15, 20, 25, 30]:
        print(i, simulate_and_measure(i))
    

    Output (the numbers are elapsed in seconds; 10, 15, ... are number of qubits for QFT):

    10 {'qsim': 0.9677999019622803, 'cu_expectation': 0.29337143898010254, 'cu_batched': 0.07590365409851074}
    15 {'qsim': 0.023270368576049805, 'cu_expectation': 0.019628524780273438, 'cu_batched': 0.3687710762023926}
    20 {'qsim': 0.03504538536071777, 'cu_expectation': 0.023822784423828125, 'cu_batched': 0.9347813129425049}
    25 {'qsim': 0.14235782623291016, 'cu_expectation': 0.02486586570739746, 'cu_batched': 2.39030122756958}
    30 {'qsim': 3.4044816493988037, 'cu_expectation': 0.028923749923706055, 'cu_batched': 4.6819908618927}
    35 {'cu_expectation': 1.0615959167480469, 'cu_batched': 10.964831829071045}
    40 {'cu_expectation': 0.03381609916687012, 'cu_batched': 82.43729209899902}
    

    I wasn't able to go to 35 qubits for qsim, because I got CUDA OOM for qsim. The much reduced memory usage alone is sufficient to prefer cuQuantum for this use case.

    But, I was hoping that batched_amplitudes is going to be faster than a full statevector simulation, because some qubits are fixed. But it doesn't seem to be the case. I have also tried reduced_density_matrix (not shown, so that the code snippet is short). The only one that is consistently fast is expectation. I wonder if I did it wrongly?

    opened by rht 2
  • Why QSimOptions is throwing error when use_sampler disable_gpu are used ?

    Why QSimOptions is throwing error when use_sampler disable_gpu are used ?

    `TypeError Traceback (most recent call last) Cell In [9], line 2 1 ngpus = 1 ----> 2 qsim_options = qsimcirq.QSimOptions( 3 max_fused_gate_size = 2 4 , cpu_threads = 1 5 , gpu_mode = ngpus 6 , use_sampler = True 7 , disable_gpu = False 8 ) 9 qsim_simulator = qsimcirq.QSimSimulator(qsim_options)

    TypeError: init() got an unexpected keyword argument 'use_sampler'`

    It's working fine when these 2 options are removed. I am using windows wsl to run it locally using conda installation. The documentation clearly has these options. Link to QSimOptions

    opened by ShashiQubit 1
  • cirq + custatevec on multiple GPUs

    cirq + custatevec on multiple GPUs

    Hi,

    I am using cuQuantum Appliance 22.07-Cirq to experiment with cirq + custatevec simulator. I am able to run up to 32 qubit simulations with single NVidia A100 40GB gpu as expected.

    However I am having trouble getting it to run on multiple GPUs. I am using QSimOptions.gpu_mode = 2 to achieve this as explained in cuquantum docs but I only see one gpu being used thourgh nvidia-smi command, and I run out of memory for 33 qubits.

    here is a minimal reproducer:

    import cirq
    import qsimcirq
    
    def load_test(num_gpus = 1, depth = 4, num_qubits = 30):
    	circuit = cirq.testing.random_circuit(
    		qubits = num_qubits,
    		n_moments = depth,
    		op_density = 1.0,
    		random_state = 1)
    	num_gates = len(list(circuit.all_operations()))
    	options = {"gpu_mode": num_gpus, "n_subsvs": num_gpus}
    	qsim_simulator = qsimcirq.QSimSimulator(options)
    	result = qsim_simulator.simulate(circuit)
    	print (f"DONE with qubits: {num_qubits} \t gates: {num_gates} \t depth: {depth} \t")
    
    load_test(num_gpus = 2, depth = 2, num_qubits = 30) # uses  ~8GB memory on 1 gpu
    load_test(num_gpus = 2, depth = 2, num_qubits = 32) # uses ~32GB memory on 1 gpu
    load_test(num_gpus = 2, depth = 2, num_qubits = 33) # CUDA error: out of memory vector_mgpu.h 116
    

    I have 2 NVidia A100 gpu's on my machine and here is the output of nvidia-smi for 32 qubit case:

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.6     |
    |-------------------------------+----------------------+----------------------+
    | 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  NVIDIA A100-SXM...  Off  | 00000000:00:04.0 Off |                    0 |
    | N/A   35C    P0    82W / 400W |  33561MiB / 40960MiB |     23%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   1  NVIDIA A100-SXM...  Off  | 00000000:00:05.0 Off |                    0 |
    | N/A   43C    P0    75W / 400W |      2MiB / 40960MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |    0   N/A  N/A     26614      C   python                          33559MiB |
    +-----------------------------------------------------------------------------+
    

    Am I missing something?

    opened by hthayko 0
Releases(v22.11.0)
  • v22.11.0(Nov 30, 2022)

  • v22.07.1(Aug 4, 2022)

  • v22.07.0(Jul 20, 2022)

  • v22.05.0(May 23, 2022)

  • v22.03.0(Mar 25, 2022)

    First general access release of cuQuantum. Documentation and full release notes for all versions are located here: https://docs.nvidia.com/cuda/cuquantum/index.html

    Source code(tar.gz)
    Source code(zip)
Owner
NVIDIA Corporation
NVIDIA Corporation
Github Traffic Insights as Prometheus metrics.

github-traffic Github Traffic collects your repository's traffic data and exposes it as Prometheus metrics. Grafana dashboard that displays the metric

Grafana Labs 34 Oct 27, 2022
GUI for a Vocal Remover that uses Deep Neural Networks.

GUI for a Vocal Remover that uses Deep Neural Networks.

4.4k Jan 07, 2023
BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment

BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment

Holy Wu 35 Jan 01, 2023
Crawl & visualize ICLR papers and reviews

Crawl and Visualize ICLR 2022 OpenReview Data Descriptions This Jupyter Notebook contains the data crawled from ICLR 2022 OpenReview webpages and thei

Federico Berto 75 Dec 05, 2022
AirLoop: Lifelong Loop Closure Detection

AirLoop This repo contains the source code for paper: Dasong Gao, Chen Wang, Sebastian Scherer. "AirLoop: Lifelong Loop Closure Detection." arXiv prep

Chen Wang 53 Jan 03, 2023
OstrichRL: A Musculoskeletal Ostrich Simulation to Study Bio-mechanical Locomotion.

OstrichRL This is the repository accompanying the paper OstrichRL: A Musculoskeletal Ostrich Simulation to Study Bio-mechanical Locomotion. It contain

Vittorio La Barbera 51 Nov 17, 2022
SCAN: Learning to Classify Images without Labels, incl. SimCLR. [ECCV 2020]

Learning to Classify Images without Labels This repo contains the Pytorch implementation of our paper: SCAN: Learning to Classify Images without Label

Wouter Van Gansbeke 1.1k Dec 30, 2022
Code for PhySG: Inverse Rendering with Spherical Gaussians for Physics-based Relighting and Material Editing

PhySG: Inverse Rendering with Spherical Gaussians for Physics-based Relighting and Material Editing CVPR 2021. Project page: https://kai-46.github.io/

Kai Zhang 141 Dec 14, 2022
Official code release for ICCV 2021 paper SNARF: Differentiable Forward Skinning for Animating Non-rigid Neural Implicit Shapes.

Official code release for ICCV 2021 paper SNARF: Differentiable Forward Skinning for Animating Non-rigid Neural Implicit Shapes.

235 Dec 26, 2022
LoveDA: A Remote Sensing Land-Cover Dataset for Domain Adaptive Semantic Segmentation

LoveDA: A Remote Sensing Land-Cover Dataset for Domain Adaptive Semantic Segmentation by Junjue Wang, Zhuo Zheng, Ailong Ma, Xiaoyan Lu, and Yanfei Zh

Payphone 8 Nov 21, 2022
JAX-based neural network library

Haiku: Sonnet for JAX Overview | Why Haiku? | Quickstart | Installation | Examples | User manual | Documentation | Citing Haiku What is Haiku? Haiku i

DeepMind 2.3k Jan 04, 2023
Bot developed in Python that automates races in pegaxy.

español | português About it: This is a fork from pega-racing-bot. This bot, developed in Python, is to automate races in pegaxy. The game developers

4 Apr 08, 2022
Localization Distillation for Object Detection

Localization Distillation for Object Detection This repo is based on mmDetection. This is the code for our paper: Localization Distillation

274 Dec 26, 2022
Semi-supervised Implicit Scene Completion from Sparse LiDAR

Semi-supervised Implicit Scene Completion from Sparse LiDAR Paper Created by Pengfei Li, Yongliang Shi, Tianyu Liu, Hao Zhao, Guyue Zhou and YA-QIN ZH

114 Nov 30, 2022
Prediction of MBA refinance Index (Mortgage prepayment)

Prediction of MBA refinance Index (Mortgage prepayment) Deep Neural Network based Model The ability to predict mortgage prepayment is of critical use

Ruchil Barya 1 Jan 16, 2022
MonoScene: Monocular 3D Semantic Scene Completion

MonoScene: Monocular 3D Semantic Scene Completion MonoScene: Monocular 3D Semantic Scene Completion] [arXiv + supp] | [Project page] Anh-Quan Cao, Rao

298 Jan 08, 2023
Code for "Unsupervised Source Separation via Bayesian inference in the latent domain"

LQVAE-separation Code for "Unsupervised Source Separation via Bayesian inference in the latent domain" Paper Samples GT Compressed Separated Drums GT

Michele Mancusi 30 Oct 25, 2022
A novel framework to automatically learn high-quality scanning of non-planar, complex anisotropic appearance.

appearance-scanner About This repository is an implementation of the neural network proposed in Free-form Scanning of Non-planar Appearance with Neura

Xiaohe Ma 14 Oct 18, 2022
Masked regression code - Masked Regression

Masked Regression MR - Python Implementation This repositery provides a python implementation of MR (Masked Regression). MR can efficiently synthesize

Arbish Akram 1 Dec 23, 2021
A new version of the CIDACS-RL linkage tool suitable to a cluster computing environment.

Fully Distributed CIDACS-RL The CIDACS-RL is a brazillian record linkage tool suitable to integrate large amount of data with high accuracy. However,

Robespierre Pita 5 Nov 04, 2022