作者別: HirotakaNiisato

quantum computing

docker container for RISC-V quantum extension.

未踏の成果のひとつでもある、コンパイル・エミュレータ環境をまとめたdocker containerを用意した。 RISC-V 量子拡張の参照実装とマイクロ波制御量子ファームウェアの開発 に資料がある。ここの量子コンパイラ…
もっと読む

LLVM最適化パスを使ったゲート最適化

LLVMは簡単にPassを作って組み込むことが出来る。このPassというものは何か?というとオフィシャルのドキュメントに記載がある。コンパイラが行う変換と最適化を行うもので、PassManagerがそれらの経路の制御を行…
もっと読む

qlang開発環境

LLVMを使って開発する時に便利なのが、フロントエンドのIRを解決できれば、バックエンド側が無くてもとりあえずはOKというのもあって、必ずしもRISC-V LLVMが手元に無くても開発を進めることが出来る。ということで、…
もっと読む

LLVMを使う

今回のプロジェクトで利用しているLLVMのバージョンは9.0で最新の物を使っている。LLVMは進化が早いのもあって、ググって出て来た方法を使ってビルドしようとしても失敗したり、一体どーすりゃ良いんだ…orzと…
もっと読む

RISC-V spike vs QuEST

RISC-V SpikeのエミュレーターにはQuESTを組み込んで、量子系の命令セットをカスタムとして用意した。そこで気になるのが、QuEST(on x86)で普通に書いたプログラムとRISC-V Spike with …
もっと読む

qlang(quantum language) with LLVM

qlangというRISC-V 量子向けの独自のプログラミング言語をLLVM基盤上で開発していく。前にgccで行った改造内容から次のことが分かった。完全に同一のC言語のソースコードについて、 RISC-V向け量子向けGCC…
もっと読む

Add Extend Instruction set to RISC-V GNU Toolchain

前回に引き続き、次は拡張命令セットをGCC(RISC-V GNU Toolchain)に追加していく。前回はとりあえずSpike上で量子系の命令セットを追加して演算を行うまで行った。ここで目標としては… 1.…
もっと読む

Quantum compute on RISC-V emulator(Spike)

RISC-VのエミュレーターとしてSpikeを使って、命令セットの拡張と実装を行ってみました。Spikeは見たところ、RISC-Vをターゲットにしているため非常にシンプルな実装になっていて改造も簡単そうです。命令セットの…
もっと読む

QuESTをRISC-V上で動かす

QuESTはゲート型量子コンピュータ向けのシュミレータで、C言語で記述されていて、シンプルな記述で量子ビットの制御をシュミレーションしてくれる。自分的にQuESTの面白いのが演算をCPUだけではなく、GPUでも処理するこ…
もっと読む

RISC-VとLLVM

RISC-VはBSDライセンスで設計されているISAだ。誰でもRISC-Vの設計を使ってCPUを作ることが出来る。SoCは色々と出ているものの、お手軽に実際に触れる端末はそんなに多くないのが現実だ。 1万円以下で、実際に…
もっと読む