Kuantum bilgisayarlarının işletilmesi, gerçekleştirilecek ölçümler ve kontrol işlemleri için önemli bir klasik bilgi işlem kaynağı yatırımı gerektiriyor. Bu, kuantum bilgisayarlarının işletilmesinin yanı sıra, kuantum tarafındaki bilgi akışını kontrol etmek ve yorumlamak için bir yazılım yığınına ihtiyaç duyacağı anlamına geliyor. Ancak yazılım, herhangi bir işlem gerçekleştirilmeden önce de devreye giriyor. Kullanıcılar, kuantum donanımına gönderilecek tam komut setini tanımlayarak algoritmalarını çalıştırabilir, ancak çoğu kullanıcı algoritma geliştirme üzerine odaklanmayı tercih ediyor. Jay Gambetta’nın belirttiği gibi, "Herkes gürültüyü anlamak zorunda kalırsa, performans yönetim araçlarını kullanmak zorundalar ve kuantum devresini donanım aracılığıyla derlemek için uzmana dönüşmeleri gerekiyor. Bununla birlikte, algoritma keşfine ulaşmak için çok fazla bilgi edinmeleri gerekiyor." Bu nedenle, şirketlerin kuantum donanımlarını kontrol etmek için geliştirdiği yazılım yığınlarının bir kısmı, kuantum algoritmalarının soyut temsillerini, bunları çalıştırmak için gereken komut serisine dönüştüren yazılımları içeriyor.
QİSKİT VE YENİLİKLER
IBM'in bu yazılımı, Qiskit olarak adlandırılıyor ve açık kaynak olarak yayımlanmış, diğer şirketler tarafından da benimsenmiştir. IBM, Qiskit ile ilgili bazı duyurular yaptı; bunlar arasında Qiskit’in diğer yazılım yığınlarıyla karşılaştırmalı olarak değerlendirilmesi ve üçüncü taraf modüllere açılması bulunuyor. Şimdi yazılım yığınlarının ne yaptığını inceleyelim ve ardından yeniliklerin detaylarına bakalım.
YAZILIM YIĞINLARININ ROLÜ
IBM'in Qiskit'ini, bir derleyici ile karşılaştırmak cazip olsa da, bu benzetme en temel düzeyde mantıklıdır. Qiskit, insanlar tarafından tanımlanan algoritmaları alarak, bunları donanımın çalıştırabileceği şeylere dönüştürmektedir. Ancak klasik bilgisayarlar için bir derleyicinin ürettiği kod, bilgisayarın işlemcisi tarafından iç talimatlara dönüştürülmekte ve işlemci donanımını yapılandırıp işlemleri gerçekleştirmektedir. Klasik bilgisayarlarda "makine dili" kullanıldığında, programcılar doğrudan donanımı kontrol edemez; hangi işlemlerin hangi donanımda yürütüleceğine dair bir kontrol sahibi değildirler.
Kuantum bilgisayarlarında durum oldukça farklıdır. Şu anki teknolojide, işlemcinin üzerindeki her şey dış donanım tarafından kontrol edilmektedir; bu genellikle bir dizi lazer veya mikrodalga darbesi üreterek gerçekleştirilir. Bu nedenle, IBM'in Qiskit'i veya Microsoft'un Q#’ı gibi yazılımlar, kendilerine verilen kodları, işlemciye dışarıdan gönderilen komutlara dönüştürmektedir.
HATALARLA BAŞA ÇIKMA VE GELECEK BEKLENTİLERİ
Bu "derleyicilerin", hangi işlemlerin hangi işlemcide gerçekleştiğini tam olarak takip etmesi gerekmektedir. Kuantum bilgisayarları, bireysel veya çift qubitler üzerinde belirli işlemler (kapı) gerçekleştirerek çalışmaktadır; bu nedenle hangi qubit'in hedeflendiğini bilmek gerekmektedir. Süper iletken qubitler gibi durumlarda, cihazdan cihaza farklılıklar olabileceğinden, hangi donanım qubit'lerini kullandığınız, hesaplamaların sonuçları üzerinde önemli bir etkiye sahip olabilir.
Sonuç olarak, Qiskit gibi yazılımlar, doğrudan donanımı hedefleme seçeneği sunar. Ancak bir programcı bu seçeneği tercih etmezse, yazılım, genel talimatları alıp, kodlanmış algoritmanın çalıştırılması için gereken kesin eylemler dizisine dönüştürebilir. Bu, yazılım yığınının, hangi fiziksel qubit'lerin kullanılacağı, hangi kapıların ve ölçümlerin gerçekleştirileceği ve bunların hangi sırayla gerçekleştirileceği konularında seçimler yapması anlamına gelmektedir.
Yazılım yığınının rolü, önümüzdeki birkaç yıl içinde önemli ölçüde genişlemesi beklenmektedir. Birçok şirket, yaygın bir hata türünü işaretleyebilen donanım qubit tasarımları üzerinde deneyler yapıyor ve hata düzeltme işlemlerini kolaylaştıracak mantıksal qubitler geliştirmektedir. Sonuç olarak, kuantum bilgisayarlarına erişim sağlayan her şirket, algoritma tasarlayan kişilerin çabasını gerektirmeden bu özelliklerin etkinleştirilmesi için yazılım yığınını değiştirmek isteyecektir.