Skip to content

Commit 99913bd

Browse files
Revert "remove release notes md"
This reverts commit 25313f4.
1 parent cdd2ce7 commit 99913bd

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

tensorflow_quantum/release.md

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Release 0.8.0
2+
# Breaking Changes
3+
- Build, compilation, and packaging:
4+
- The TensorFlow dependency has been upgraded from 2.7.0 to 2.11.0:
5+
- TensorFlow Quantum is now compiled with `_GLIBCXX_USE_CXX11_ABI=1`. Downstream projects that encounter `std::__cxx11` or `[abi:cxx11]` linker errors will need to adopt this compiler option. See [the GNU C++ Library docs on Dual ABI](https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html).
6+
- TensorFlow Quantum is now compiled with `-std=c++17`, see [install.md](/docs/install.md) for build instructions.
7+
- Cirq dependency has been upgraded from `0.13.1` to `~=1.0`
8+
- `cirq_google.XMON` was deprecated : https://github.com/quantumlib/Cirq/issues/4856
9+
- `QuantumEngineSampler` was deprecated : https://github.com/quantumlib/Cirq/issues/5371
10+
- So, we need [ProcessorSampler() for testing](https://github.com/quantumlib/Cirq/blob/master/cirq-google/cirq_google/engine/processor_sampler_test.py)
11+
- `cirq.CNOT` interface was changed.
12+
- https://quantumai.google/reference/python/cirq/CNOT
13+
- No more control, target argument.
14+
- `cirq.SingleQubitGate` was deprecated.
15+
- For testing, use `cirq.testing.SingleQubitGate` : https://github.com/quantumlib/Cirq/pull/5272/files
16+
- For implementation, use `cirq.Gate`.
17+
18+
# Major Features and Improvements
19+
- Significant performance improvements by introducing cuQuantum support for circuit execution on Nvidia GPUs:
20+
- TensorFlow Quantum Keras layers can now be executed on GPU by setting the optional arguement `use_cuquantum=True` at layer instantiation. Examples:
21+
- `tfq.layers.Expectation(use_cuquantum=True)`
22+
- `tfq.layers.SampledExpectation(use_cuquantum=True)` (note that cuQuantum runtime is unsupported for any noisy circuit operations
23+
- `tfq.layers.State(use_cuquantum=True)`
24+
- `tfq.layers.Sample(use_cuquantum=True)`
25+
- `tfq.layers.PQC(model_circuit, operators, use_cuquantum=True)`
26+
- `tfq.layers.ControlledPQC(model_circuit, operators, use_cuquantum=True)`
27+
- Important notes:
28+
- 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).
29+
- 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.
30+
- 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 automatically locate the folder containing the cuQuantum installation upon running `configure.sh` at [this step](/docs/install.md#6-build-the-tensorflow-quantum-pip-package).
31+
- 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)
32+
- 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)`
33+
34+
35+
36+
# Thanks to our Contributors
37+
This release contains contributions from many people at Google, Nvidia, as well as:

0 commit comments

Comments
 (0)