HMPP开放标准
HMPP用于异构多核并行编程。 OpenHMPP标准基于一组指令,是用于处理硬件加速器的编程模型,但又没有GPU编程的相关复杂性。这种基于指令的方法已经实现,因为他们使应用程序代码和硬件加速器使用之间形成松散关系。 本文涉及组成OpenHMPP标准的HMPP指令, 但并不处理指令的执行链接到指令执行。 简介 OpenHMPP基于指令的编程模型提供了一种语法,有效地减轻硬件加速器上的计算,优化数据向/从硬件存储器移动。 模型基于 [htt…
共 23 篇文章
HMPP用于异构多核并行编程。 OpenHMPP标准基于一组指令,是用于处理硬件加速器的编程模型,但又没有GPU编程的相关复杂性。这种基于指令的方法已经实现,因为他们使应用程序代码和硬件加速器使用之间形成松散关系。 本文涉及组成OpenHMPP标准的HMPP指令, 但并不处理指令的执行链接到指令执行。 简介 OpenHMPP基于指令的编程模型提供了一种语法,有效地减轻硬件加速器上的计算,优化数据向/从硬件存储器移动。 模型基于 [htt…
GLSL - OpenGL Shading Language 也稱作 GLslang,是一個以C語言為基礎的高階著色語言。它是由 所建立,提供開發者對繪圖管線更多的直接控制,而無需使用汇编语言或硬體規格語言。 背景 隨著近年來繪圖卡的進步, 底层頂點(vertex)和(fragment)的渲染管線中加入更多更具彈性的新功能。 這個層次的可編程性由頂點著色器和像素着色器實現。 最初這個功能是以匯編語言撰寫著色器來達到,不直觀而複雜。Ope…
D語言是一种程式語言,具备多範型,例如物件導向、指令式。由沃尔特·布莱特和安德烈·亞歷山德雷斯庫所開發,起源自C++,深受C++的影響,然而其不是C++的变种,而是重新设计来自C++的部分特性,并受到其它程式語言觀念的影響,如Java、C♯以及Eiffel。2007年1月2日釋出1.0穩定版本。2007年1月17日釋出2.0版本。 Walter Bright本身是Symantec C++編譯器的作者,另一名作者安德烈·亞歷山德雷斯庫是F…
{{Infobox programming language |name = C語言 |logo = File:C1stEdition.svg |logo_size = 160px |logo caption = 在第一部介绍C语言的书籍《C程序设计语言》的初版封面上使用的C标识 |paradigm = 程序式指令式编程(过程式)、结构化编程 |year = |designer = 丹尼斯·里奇(Dennis Ritchie) |dev…
C#是微软推出的一种基于.NET框架和后来的.NET的、面向对象的高级编程语言。C#衍生自C和C++,继承了C和C++的强大功能,同时去掉了一些复杂特性,使其成为C语言家族中高效强大的编程语言。C#以.NET类库作为基础,拥有类似Visual Basic的快速开发能力。C#由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言,希望借助这种语言来取代Java。C#已经成为Ecma国际和国际标准组织的标准规范。 设计目标 ECMA标…
Cilk是一種建基於C編程語言、為平行運算而設計的泛用式程式語言。 設計 Cilk語言設計背後最主要概念是,程式設計人員應該負責探索程式以平行運算的可能性、分辨程式中可安全地進行平行運算的原素(特別是系統的排程器)、以及決定在程序運作時處理器之間如何分配工作。正因為這些設計時涉及的責任,使程式可運作於任何處理器數目的情形(包括只有單一個處理器時),而無需重新為特定的處理器情況重新編寫程式。 Cilk語言建基於ANSI C,並加入了部份C…
OpenACC (开源加速器( Open Accelerators)的简称) 是一个由克雷公司,CAPS公司,輝达公司和PGI公司共同开发的平行處理程式設計标准。设计这个标准的初衷是为了简化异构计算(CPU/GPU)系统的平行程式設計。 正如在OpenMP中那样,程式設計師可以通过在C、C++和Fortran 源代码中添加注释以指明哪些代码段需要使用编译指令或其他函数加速。 与OpenMP 4.0或其更新的版本类似,OpenACC的代码…
C++是一种被广泛使用的计算机程序设计语言。它是一种通用程式設計語言,支援多重编程范式,例如過程化程序設計、面向对象程序設計、泛型程式設計和函数式程序設計等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数、运算符重载、多繼承、标准模板库、异常处理、运行时类型信息、命名空間等概念逐漸納入標準…
MISRA C是由(MISRA)提出的C語言開發標準。其目的是在增進嵌入式系統的安全性及可移植性。針對C++語言也有對應的標準MISRA C++。 MISRA C一開始主要是針對汽車產業 ,不過其他產業也逐漸開始使用MISRA C:包括航空、電信、國防、醫療設備、鐵路等領域中都已有廠商使用MISRA C。 MISRA C的第一版《Guidelines for the use of the C language in vehicle ba…
Newsqueak,一種並行性程式語言,可在視窗系統上撰寫應用程式。它在1980年代末期在貝爾實驗室被開發出來,設計者為羅勃·派克。在語法上,它受到C語言的影響,但它在進行平行運算時,則受到東尼·霍爾的通信顺序进程所啟發。 它的前身是Squeak,由Luca Cardelli與羅勃·派克設計的程式語言,可以用於實做图形用户界面(GUI)。 相關條目 Inferno操作系统 贝尔实验室9号计划 引用 外部連結 [http://swtch.…
Limbo,一種用於分散式系統的程式語言,在Inferno作業系統中,用它來寫作應用程式。它起源於貝爾實驗室,由西恩·都華(Sean Dorward),菲爾·溫特伯(Phil Winterbottom)與羅勃·派克(Rob Pike)設計研發。 它的並行計算模式,受到東尼·霍爾的通信顺序进程所啟發。 语言特征 Limbo支持如下特征: 模块化编程 并发编程 强类型检查于编译时间和运行时间 进程间通信经由有类型的通道 自动垃圾收集 简单的…
Dart([KK] , [DJ] )是一种适用于全球資訊網的開放原始碼程式語言,由Google主導開發,於2011年10月公開。它的開發團隊由Google Chrome瀏覽器V8引擎團隊的領導者主持,目標在於成為下一代結構化Web開發語言。 類似JavaScript,Dart也是一種物件導向語言,但是它採用類別為基的程式設計。它只允許單一繼承,語法風格接近C語言。 發展歷史 2011年Google在丹麥奧胡斯(Aarhus)舉行的“GO…
Vala是一門面向对象的编程语言,由自舉編譯器產生C语言代碼和使用GObject系統,允许在GNOME运行时库的基础上使用大量现代的编程技巧。通过使用GLib和GObject,Vala提供了动态类型系统和基于引用计数(reference counting)系统的記憶體管理的功能。 描述 Vala是一门编程语言,结合了脚本语言的高级编程语言建造时间性能,与低级的编程语言运行时间性能。相较于用C写成的应用和库,它致力于将现代编程语言特征带给…
OpenCL(,中譯:开放计算语言),是一个为异构平台编写程序的框架,此异构平台可由CPU、GPU、DSP、FPGA或其他类型的处理器與硬體加速器所组成。OpenCL由一门用于编写kernels(在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。 OpenCL类似于另外两个开放的工业标准OpenGL和OpenAL,这两个标准分别用于三维图形和…
Handel-C是一個程式語言,是一個專門編譯用在FPGA以及ASIC上的硬體描述語言。它是一個C語言的子集,並且有一些非標準的控制硬體即時性以及并行性的特性。 补充特征 為了要描述複雜的演算法,C語言的子集包含了所有C語言常用的特性。像許多嵌入式編譯器,浮點數資料型態都會被忽略掉。透過外部函式庫的支援,浮點數運算會變的更有效率。 并行程序 为了设立一种描述并行行为的方式,使用了一些CSP关键字,还有Occam的通用文件结构。 例如: …
在電腦程式設計}-中,函数原型()或函数接口()是用于指定函数的名称和类型签名(元数,参数的資料類型和返回值类型)的一种省略了函数体的函数聲明。虽然函数声明规定了函数是如何被实现的,但仅包括对接口的定义(即接受的数据类型和返回的数据类型),并不包括对函数体的定义。 函数原型被广泛应用于C、C++ 语言程序代码的上下文中,通过在头文件中放置函数的前向声明来允许将代码拆分为多个。即编译器可以单独编译目标文件的这部分内容,然后由链接器组合成可…
Carbon或Carbon-lang是一个实验性的通用编程语言,旨在成为“C++的后继语言”。该项目开放源代码,由Google启动,沿用了之前Google自创的编程语言的脚步(Go和 Dart)。Google工程师钱德勒·卡鲁斯()在2022年7月多伦多的CppNorth会议上首次向公众介绍Carbon语言。 示例 Hello, world! package sample api; fn Main() -> i32 { Print("H…
在C语言、C++、D語言、JavaScript和Julia等编程语言中,const是一个:它是一个应用于数据类型的关键字,表示该数据是只读和恆定不變。Const可以用来声明常量,但C语言家族中的const与其他语言有所不同,const在C语言家族是屬於数据类型的一部分。 参考文献
*'(Open Multi-Processing)是一套支持跨平台共享内存方式的多线程并发的编程API,使用C,C++和Fortran语言,可以在大多数的处理器体系和操作系统中运行,包括Solaris, AIX, HP-UX, GNU/Linux, Mac OS X, 和Microsoft Windows。包括一套编译器指令、库和一些能够影响运行行为的环境变量。 OpenMP采用可移植的、可扩展的模型,为程序员提供了一个简单而灵活的开发…
嵌入式C语言是由为解决C语言与不同嵌入式应用之间存在的共同问题而提出的一种C语言标准化扩展。 发展历史 在早期的嵌入式应用中,工程师需要对C语言进行扩展以使系统能够支持诸如定点数,多个不同的存储器以及I/O等功能,但对于不同系统的扩展并不能通用,非标准化地扩展将会降低软件的可移植性。因此在2008年,C语言标准委员会对C语言进行了标准化扩展,以解决上述问题。扩展后的C语言在原标准C语言的基础上新增了定点运算,地址空间命名,I/O硬件寻址…