计算机体系结构基础:处理器、内存、输入和输出设备、应用软件和系统软件:编译器、解释器、高级和低级语言、结构化编程方法简介、流程图、算法、伪代码(冒泡排序、线性搜索 - 算法和伪代码)
我们提出了使用COQ证明助手编写的第一个用于量子电路的第一个完全验证的优化器。量子电路以简单的低级语言表示为程序,称为SQIR,一种简单的量子中间表示形式,它深层嵌入了COQ中。优化和其他转换表示为COQ函数,相对于SQIR程序的语义,证明是正确的。sqir使用复数矩阵的语义,这是量子计算的标准,但象征性地对待矩阵以推理使用任意数量量子位的程序。SQIR的仔细设计和我们提供的自动化使得在VOQC中编写和验证广泛的优化是可能的,包括来自尖端优化器的全电路转换。
GPU(图形处理单元)通常使用CUDA或OPENCL等低级语言进行编程。尽管这些语言允许实现非常优化的软件,但由于其低级性质,它们很难编程,在该软件中,程序员必须将协调代码(即如何创建和分发)与实际的计算代码混合在一起。在本文中,我们介绍了霍克(Hok),这是一种延伸到长生不老药功能性语言的信息,该语言允许促进高阶GPU内核,从而使程序能够明确地将协调与计算分开。HOK系统为编写可以使用计算代码参数化的低级GPU内核提供了DSL(特定领域的语言)。HOK允许在主机代码中创建和引用范围的功能,包括匿名功能,以便在启动内核之前配置它们。我们证明HOK可用于实施高级抽象,例如算法 - 麦克骨骼和数组综合。我们还提出了证明HOK当前实施的可用性的实验,并表明与纯长生不老药相比,可以获得高速加速,特别是在具有大量输入的集体密集型程序中。