양자컴퓨터/Qiskit

(삽질) [Qiskit simulator] GPU 사용하기 (1)

nineil91 2023. 7. 31. 13:53

https://github.com/qiskit-community/qiskit-community-tutorials/blob/master/aer/qv_cuStateVec.ipynb

 

본 포스팅은 위 튜토리얼을 기반으로 7월 2째주 업데이트 문제 해결 과정과 qiskit으로 gpu 사용하는 법을 동시에 다룹니다.

 

위 튜토리얼로 

25+ qubit을 사용하는 양자머신러닝 코드를 구동하고자 튜토리얼로 테스트를 마쳤는데, 7월 2째주에 Qiskit Aer 업데이트가 있으면서

 

기존에 사용되던

qiskit-aer-gpu

가 cuda 버전 12 이상에 호환되도록 변경되었고, 아래 코드를 사용하여

pip uninstall qiskit-aer-gpu && pip install -U qiskit-aer-gpu-cu11

cuda 버전 11.2 이상인 11 버전 사용자가 이용 할 수 있도록 유도하고 있다. 

 

https://qiskit.org/ecosystem/aer/release_notes.html

 

Release Notes — Qiskit Aer 0.12.2 documentation

The default basis for the NoiseModel class has been changed from ["id", "u3", "cx"] to ["id", "rz", "sx", "cx"] due to the deprecation of the u3 circuit method in qiskit-terra and change of qiskit-ibmq-provider backend basis gates. To use the old basis gat

qiskit.org


- qiskit 관련 설치된 패키지

qiskit.providers.aer이 설치되지 않았다는 에러가 발생한다.

이때, qiskit-aer 패키지가 설치되어있고, qiskit-aer-gpu-cu11이 설치되어 있어야 덮어쓰기가 되며 사용 가능 한가? 해서 설치해보면 

 

qiskit-aer 패키지로 잡히고, qiskit-aer-gpu-cu11으로 덮어쓰기가 안된 것 같다.

 

설치 순서의 문제인가 해서 qiskit-aer를 설치한 후 qiski-aer-gpu-cu11을 설치해본다.

여전히 GPU is not support 에러...

 

* qiskit-aer과 qiskit-aer-gpu-cu11이 같이 설치해야 한다고 생각했지만 둘이 충돌 할 수 있다는 말에 qiskit-aer를 다시 제거해본다. 내용은 아래 내용 참고.

https://github.com/Qiskit/qiskit-aer/issues/1416

 

AER GPU execution fails with cuda-11.3 · Issue #1416 · Qiskit/qiskit-aer

Informations qiskit v0.34.0 qiskit-aer v0.10.1 qiskit-aer-gpu v0.10.1 Python version: 3.8.11 Operating system: CentOS Linux 7 CUDA 11.3 NVIDIA Tesla P100 PCIe 12GB What is the current behavior? Qis...

github.com

qiskit-aer로 qiskit.providers.aer이 잡혔기 때문에 코드를 바꿀 필요가 있다.

.

.

.

 

다음 포스팅에서 qiskit-aer-gpu-cu11 or qiskit-aer-gpu 코드를 뜯어보고, 튜토리얼을 수정해보겠다.