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
This is the implementation of our work Deep Extreme Cut (DEXTR), for object segmentation from extreme points.

This is the implementation of our work Deep Extreme Cut (DEXTR), for object segmentation from extreme points.

Sergi Caelles 828 Jan 05, 2023
[ICRA 2022] An opensource framework for cooperative detection. Official implementation for OPV2V.

OpenCOOD OpenCOOD is an Open COOperative Detection framework for autonomous driving. It is also the official implementation of the ICRA 2022 paper OPV

Runsheng Xu 322 Dec 23, 2022
This is an easy python software which allows to sort images with faces by gender and after by age.

Gender-age Classifier This is an easy python software which allows to sort images with faces by gender and after by age. Usage First install Deepface

Claudio Ciccarone 6 Sep 17, 2022
Resources complimenting the Machine Learning Course led in the Faculty of mathematics and informatics part of Sofia University.

Machine Learning and Data Mining, Summer 2021-2022 How to learn data science and machine learning? Programming. Learn Python. Basic Statistics. Take a

Simeon Hristov 8 Oct 04, 2022
Ppq - A powerful offline neural network quantization tool with custimized IR

PPL Quantization Tool(PPL 量化工具) PPL Quantization Tool (PPQ) is a powerful offlin

605 Jan 03, 2023
SweiNet is an uncertainty-quantifying shear wave speed (SWS) estimator for ultrasound shear wave elasticity (SWE) imaging.

SweiNet SweiNet is an uncertainty-quantifying shear wave speed (SWS) estimator for ultrasound shear wave elasticity (SWE) imaging. SweiNet takes as in

Felix Jin 3 Mar 31, 2022
Convolutional neural network web app trained to track our infant’s sleep schedule using our Google Nest camera.

Machine Learning Sleep Schedule Tracker What is it? Convolutional neural network web app trained to track our infant’s sleep schedule using our Google

g-parki 7 Jul 15, 2022
No Code AI/ML platform

NoCodeAIML No Code AI/ML platform - Community Edition Video credits: Uday Kiran Typical No Code AI/ML Platform will have features like drag and drop,

Bhagvan Kommadi 5 Jan 28, 2022
SegTransVAE: Hybrid CNN - Transformer with Regularization for medical image segmentation

SegTransVAE: Hybrid CNN - Transformer with Regularization for medical image segmentation This repo is the official implementation for SegTransVAE. Seg

Nguyen Truong Hai 4 Aug 04, 2022
A variational Bayesian method for similarity learning in non-rigid image registration (CVPR 2022)

A variational Bayesian method for similarity learning in non-rigid image registration We provide the source code and the trained models used in the re

daniel grzech 14 Nov 21, 2022
Speech Recognition is an important feature in several applications used such as home automation, artificial intelligence

Speech Recognition is an important feature in several applications used such as home automation, artificial intelligence, etc. This article aims to provide an introduction on how to make use of the S

RISHABH MISHRA 1 Feb 13, 2022
YKKDetector For Python

YKKDetector OpenCVを利用した機械学習データをもとに、VRChatのスクリーンショットなどからYKKさん(もとい「幽狐族のお姉様」)を検出できるソフトウェアです。 マニュアル こちらから実行環境のセットアップから解説する詳細なマニュアルをご覧いただけます。 ライセンス 本ソフトウェア

あんふぃとらいと 5 Dec 07, 2021
PyTorch implementation of Munchausen Reinforcement Learning based on DQN and SAC. Handles discrete and continuous action spaces

Exploring Munchausen Reinforcement Learning This is the project repository of my team in the "Advanced Deep Learning for Robotics" course at TUM. Our

Mohamed Amine Ketata 10 Mar 10, 2022
Transport Mode detection - can detect the mode of transport with the help of features such as acceeration,jerk etc

title emoji colorFrom colorTo sdk app_file pinned Transport_Mode_Detector 🚀 purple yellow gradio app.py false Configuration title: string Display tit

Nishant Rajadhyaksha 3 Jan 16, 2022
PyTorch implementation for OCT-GAN Neural ODE-based Conditional Tabular GANs (WWW 2021)

OCT-GAN: Neural ODE-based Conditional Tabular GANs (OCT-GAN) Code for reproducing the experiments in the paper: Jayoung Kim*, Jinsung Jeon*, Jaehoon L

BigDyL 7 Dec 27, 2022
Simple helper library to convert a collection of numpy data to tfrecord, and build a tensorflow dataset from the tfrecord.

numpy2tfrecord Simple helper library to convert a collection of numpy data to tfrecord, and build a tensorflow dataset from the tfrecord. Installation

Ryo Yonetani 2 Jan 16, 2022
A Pytorch implementation of "LegoNet: Efficient Convolutional Neural Networks with Lego Filters" (ICML 2019).

LegoNet This code is the implementation of ICML2019 paper LegoNet: Efficient Convolutional Neural Networks with Lego Filters Run python train.py You c

YangZhaohui 140 Sep 26, 2022
Object-aware Contrastive Learning for Debiased Scene Representation

Object-aware Contrastive Learning Official PyTorch implementation of "Object-aware Contrastive Learning for Debiased Scene Representation" by Sangwoo

43 Dec 14, 2022
"Moshpit SGD: Communication-Efficient Decentralized Training on Heterogeneous Unreliable Devices", official implementation

Moshpit SGD: Communication-Efficient Decentralized Training on Heterogeneous Unreliable Devices This repository contains the official PyTorch implemen

Yandex Research 21 Oct 18, 2022
Parallel Latent Tree-Induction for Faster Sequence Encoding

FastTrees This repository contains the experimental code supporting the FastTrees paper by Bill Pung. Software Requirements Python 3.6, NLTK and PyTor

Bill Pung 4 Mar 29, 2022