|
6 | 6 | - TensorFlow Quantum is now compiled with `-std=c++17`, see [install.md](/docs/install.md) for build instructions.
|
7 | 7 |
|
8 | 8 | # Major Features and Improvements
|
9 |
| -- Significant performance improvements by introducing cuQuantum support for circuit execution on GPU: |
10 |
| - - TensorFlow Quantum Keras layers can now be executed on GPU by setting `use_cuquantum=True` at layer instantiation. Examples: |
| 9 | +- Significant performance improvements by introducing cuQuantum support for circuit execution on Nvidia GPUs: |
| 10 | + - TensorFlow Quantum Keras layers can now be executed on GPU by setting the optional arguement `use_cuquantum=True` at layer instantiation. Examples: |
11 | 11 | - `tfq.layers.Expectation(use_cuquantum=True)`
|
12 | 12 | - `tfq.layers.SampledExpectation(use_cuquantum=True)` (note that cuQuantum runtime is unsupported for any noisy circuit operations
|
13 | 13 | - `tfq.layers.State(use_cuquantum=True)`
|
14 | 14 | - `tfq.layers.Sample(use_cuquantum=True)`
|
15 |
| - - `tfq.layers.SimulateSample(use_cuquantum=True)` |
| 15 | + - `tfq.layers.PQC(model_circuit, operators, use_cuquantum=True)` |
| 16 | + - `tfq.layers.ControlledPQC(model_circuit, operators, use_cuquantum=True)` |
| 17 | + - Important notes: |
| 18 | + - CuQuantum execution is currently only supported for source distributions meaning that the user must build TensorFlow Quantum & `tensorFlow-cpu` from source following the instructions in [install.md](/docs/install.md#build-from-source). |
| 19 | + - Ensure that the first entry is "N" in the `configure.sh` script at [this step](/docs/install.md#6-build-the-tensorflow-quantum-pip-package) of building. This ensures that you build upon `tensorflow-cpu` as `tensorflow-gpu` is unnecessary for CuQuantum support in TensorFlow Quantum. |
| 20 | + - The cuQuantum SDK must be installed locally. See [installation instructions](https://docs.nvidia.com/cuda/cuquantum/custatevec/getting_started.html) for details. As part of the installation process, ensure that the `CUQUANTUM_ROOT` environment variable is set (referred to in the installation instructions). If not set, bazel will attempt to locate the folder containing the cuQuantum installation upon running `configure.sh` at [this step](/docs/install.md#6-build-the-tensorflow-quantum-pip-package). |
| 21 | + - Tested on Titan, Ampere and Volta Nvidia GPU architectures. Note that Pascal GPU architectures are not supported, see documentation to [check whether your GPU is compatible with cuQuantum](https://docs.nvidia.com/cuda/cuquantum/getting_started.html#custatevec) |
| 22 | + - Quantum concurrency (global context option) should be turned off when `use_cuquantum=True`. This can be done by running: `tfq.python.quantum_context.set_quantum_concurrent_op_mode(False)` |
| 23 | + |
| 24 | + |
16 | 25 |
|
17 | 26 | # Thanks to our Contributors
|
18 | 27 | This release contains contributions from many people at Google, Nvidia, as well as:
|
0 commit comments