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
Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator

DRL-robot-navigation Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator. Using Twin Delayed Deep Deterministic Policy Gra

87 Jan 07, 2023
GestureSSD CBAM - A gesture recognition web system based on SSD and CBAM, using pytorch, flask and node.js

GestureSSD_CBAM A gesture recognition web system based on SSD and CBAM, using pytorch, flask and node.js SSD implementation is based on https://github

xue_senhua1999 2 Jan 06, 2022
Code for the ICCV 2021 paper "Pixel Difference Networks for Efficient Edge Detection" (Oral).

Microsoft365_devicePhish Abusing Microsoft 365 OAuth Authorization Flow for Phishing Attack This is a simple proof-of-concept script that allows an at

Alex 236 Dec 21, 2022
Code for paper Decoupled Dynamic Spatial-Temporal Graph Neural Network for Traffic Forecasting

Decoupled Spatial-Temporal Graph Neural Networks Code for our paper: Decoupled Dynamic Spatial-Temporal Graph Neural Network for Traffic Forecasting.

S22 43 Jan 04, 2023
This repo is the official implementation for Multi-Scale Adaptive Graph Neural Network for Multivariate Time Series Forecasting

1 MAGNN This repo is the official implementation for Multi-Scale Adaptive Graph Neural Network for Multivariate Time Series Forecasting. 1.1 The frame

SZJ 12 Nov 08, 2022
Datasets, Transforms and Models specific to Computer Vision

vision Datasets, Transforms and Models specific to Computer Vision Installation First install the nightly version of OneFlow python3 -m pip install on

OneFlow 68 Dec 07, 2022
SciPy fixes and extensions

scipyx SciPy is large library used everywhere in scientific computing. That's why breaking backwards-compatibility comes as a significant cost and is

Nico Schlömer 16 Jul 17, 2022
Image-Stitching - Panorama composition using SIFT Features and a custom implementaion of RANSAC algorithm

About The Project Panorama composition using SIFT Features and a custom implementaion of RANSAC algorithm (Random Sample Consensus). Author: Andreas P

Andreas Panayiotou 3 Jan 03, 2023
PCACE: A Statistical Approach to Ranking Neurons for CNN Interpretability

PCACE: A Statistical Approach to Ranking Neurons for CNN Interpretability PCACE is a new algorithm for ranking neurons in a CNN architecture in order

4 Jan 04, 2022
The code for SAG-DTA: Prediction of Drug–Target Affinity Using Self-Attention Graph Network.

SAG-DTA The code is the implementation for the paper 'SAG-DTA: Prediction of Drug–Target Affinity Using Self-Attention Graph Network'. Requirements py

Shugang Zhang 7 Aug 02, 2022
Speeding-Up Back-Propagation in DNN: Approximate Outer Product with Memory

Approximate Outer Product Gradient Descent with Memory Code for the numerical experiment of the paper Speeding-Up Back-Propagation in DNN: Approximate

2 Mar 02, 2022
This repository is the official implementation of the Hybrid Self-Attention NEAT algorithm.

This repository is the official implementation of the Hybrid Self-Attention NEAT algorithm. It contains the code to reproduce the results presented in the original paper: https://arxiv.org/abs/2112.0

Saman Khamesian 6 Dec 13, 2022
Code associated with the paper "Towards Understanding the Data Dependency of Mixup-style Training".

Mixup-Data-Dependency Code associated with the paper "Towards Understanding the Data Dependency of Mixup-style Training". Running Alternating Line Exp

Muthu Chidambaram 0 Nov 11, 2021
We have made you a wrapper you can't refuse

We have made you a wrapper you can't refuse We have a vibrant community of developers helping each other in our Telegram group. Join us! Stay tuned fo

20.6k Jan 09, 2023
GB-CosFace: Rethinking Softmax-based Face Recognition from the Perspective of Open Set Classification

GB-CosFace: Rethinking Softmax-based Face Recognition from the Perspective of Open Set Classification This is the official pytorch implementation of t

Alibaba Cloud 5 Nov 14, 2022
A Novel Incremental Learning Driven Instance Segmentation Framework to Recognize Highly Cluttered Instances of the Contraband Items

A Novel Incremental Learning Driven Instance Segmentation Framework to Recognize Highly Cluttered Instances of the Contraband Items This repository co

Taimur Hassan 3 Mar 16, 2022
Code of TIP2021 Paper《SFace: Sigmoid-Constrained Hypersphere Loss for Robust Face Recognition》. We provide both MxNet and Pytorch versions.

SFace Code of TIP2021 Paper 《SFace: Sigmoid-Constrained Hypersphere Loss for Robust Face Recognition》. We provide both MxNet, PyTorch and Jittor versi

Zhong Yaoyao 47 Nov 25, 2022
Spam your friends and famly and when you do your famly will disown you and you will have no friends.

SpamBot9000 Spam your friends and family and when you do your family will disown you and you will have no friends. Terms of Use Disclaimer: Please onl

DJ15 0 Jun 09, 2022
Dyalog-apl-docset - Dyalog APL Dash Docset Generator

Dyalog APL Dash Docset Generator o alasa e kili sona kepeken tenpo lili a A Dash

Maciej Goszczycki 1 Jan 10, 2022
Does Oversizing Improve Prosumer Profitability in a Flexibility Market? - A Sensitivity Analysis using PV-battery System

Does Oversizing Improve Prosumer Profitability in a Flexibility Market? - A Sensitivity Analysis using PV-battery System The possibilities to involve

Babu Kumaran Nalini 0 Nov 19, 2021