양자 소프트웨어 (Quantum Software)
편집하기 (부분)
둘러보기로 이동
검색으로 이동
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
= 양자 소프트웨어 스택 (Quantum Software Stack) = [[File:기술백서 전체수정 8.jpg|thumb|300px|양자 소프트웨어 스택의 구성. ]] [[쇼어 알고리듬]]이 개발되면서 [[양자 컴퓨터]]가 가져올 컴퓨팅 성능 향상에 대한 관심과 기대가 높아졌지만 아직까지 그 이점과 한계에 대해 명확하게 알려진 바는 없다. 일반적으로 양자 컴퓨터가 특정 문제에 대해 좋은 성능을 보인다는 것이 증명되거나 예측되는 반면 모든 문제를 효율적으로 풀 수 있을 것으로 보이지는 않는다. 특히 고전 컴퓨터도 효율적으로 풀 수 있는 문제들에 대해서는 [[양자 이점]](quantum advantage)이 없을 것으로 보인다. 양자 컴퓨터 개발에 소요되는 막대한 비용을 고려할 때, 양자 컴퓨터는 고전 컴퓨터를 완전히 대체하는 것이 아니라 특정 문제의 성능을 개선하기 위한 가속기(양자 가속기, quantum accelerator)의 형태로 사용될 것이다. 양자 가속기 모델 하에서 쉽고 단순한 논리 작업은 고전 컴퓨터를 통해 실행하면서 복잡하고 어려운 일부 작업의 성능을 양자 컴퓨터를 통해 개선시키는 것을 목표로 한다. 때문에 양자 컴퓨터는 수 십년에 걸쳐서 개발된 복잡한 고전 컴퓨터 프레임 워크와 매끄럽게 통합될 수 있어야 한다. 이 과정에는 양자 전송(quantum teleportation) 등 통신 기술과 보안 기술이 요구될 뿐만 아니라 양자 시스템을 위한 적절한 추상화를 제공하고 양자 하드웨어를 효율적으로 관리하기 위한 복잡한 소프트웨어 생태계(양자 소프트웨어 스택)를 필요로 한다. 양자 소프트웨어 스택은 고전 컴퓨터 소프트웨어 스택과 통합되어야 하며, 이에 따라 둘은 유사한 형태를 띠게 될 것이다. [[양자 컴퓨팅 기술]]도 이와 유사한 양자 소프트웨어 스택을 지니게 될 것으로 예측하는 것은 당연한 귀결이다. 현재 이러한 양자 소프트웨어 스택 기술을 개발하기 위한 연구가 [[Microsoft]], [[IBM]] 등 세계적 IT 기업, [[Rigetti]] computing과 같은 스타트업 및 ETH Zurich과 같은 학계에서 활발하게 진행되고 있다.<ref>Microsoft: https://www.microsoft.com/en-us/quantum; Rigetti computing: https://www.rigetti.com; ETH Zurich Project Q: https://projectq.ch; IBM: https://qiskit.org</ref> 양자 소프트웨어 스택은 크게 [[양자 프로그래밍 언어]], [[양자 컴파일러]], [[고전적 양자 시뮬레이션|고전 양자 시뮬레이션]]과 [[검증 및 디버깅 소프트웨어]]로 구성된다. 양자 프로그래밍 언어는 사용자에게는 적절한 추상화 수준을 제공하여 프로그래밍을 쉽게 하고 다양한 하드웨어로의 이식성(portability)을 확보하기 위한 기술이다. 양자 컴파일러는 주어진 양자 프로그램을 분석하고 보다 효율적인 프로그램으로 변환시켜야 한다. 이 과정에서 하드웨어가 지니는 자원 및 성능 제약 조건을 고려해야 한다. 이 과정에서 [[게이트]] 합성(gate synthesis), [[큐비트]] 맵핑(qubit mapping), 게이트 스케쥴링(gate scheduling) 등의 기술이 필요하다. 소규모 양자 시스템을 시뮬레이션하고, 나아가 양자 컴퓨터 개발을 검증하고 디버깅 하기 위해서는 효율적인 고전 시뮬레이터가 필요하다. 특히, [[NISQ]] 시대의 양자 컴퓨터를 위해 큐비트 연결성(connectivity), 노이즈, [[양자 오류 정정|게이트 충실도]] (gate fidelity) 등 하드웨어 제약 사항을 고려하여 실제 구현될 양자 컴퓨터를 분석하기 위한 노이즈 시뮬레이션 기술도 필요하다. 그러나 고전 시뮬레이터는 지수적으로 증가하는 계산 및 공간 복잡도를 지녀 양자 시스템이 충분히 커지면 활용하기 어려울 것으로 보인다. 결국 확장이 용이한(scalable)한 양자 시스템 개발을 위해서는 다른 방식의 검증 및 디버깅 방법이 필요하다. 현재 확률적 선언(probabilistic assertion) 및 양자 토모그래피(quantum tomography) 등 양자 하드웨어를 검증하기 위한 여러 기술들이 개선 중에 있으나 여전히 효과적인 방법은 미비한 실정이다. 양자 소프트웨어 기술은 충분히 성숙되지 않아 기술 발전의 여지가 클 뿐만 아니라, 양자 컴퓨터 개발 과정에서 수반되는 여러 문제는 효율적인 소프트웨어를 통해서만 해결할 수 있다는 점에서 양자 컴퓨팅 기술 개발 전반에 커다란 영향을 미칠 것으로 전망된다.
요약:
한국양자정보학회 위키에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
한국양자정보학회 위키:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
계정 만들기
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보