购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第4章
MXMACA编程API

本章内容

● 基本语法

● 数据类型

● MXMACA C++语言扩展集

本章介绍MXMACA编程API,它是MXMACA程序员与沐曦MXMACA进行对话的“书面语言”。MXMACA编程API为熟悉C/C++编程语言的程序员提供了一种简单的途径,让其可以轻松地在MXMACA上编写由设备执行的程序。

MXMACA是个规模非常庞大的软件计算平台,我们需要把MXMACA内部复杂系统的职责进行合理划分,为MXMACA程序员提供规范化的编程API,以降低系统各部分之间的相互依赖程度,提高各组成单元的内聚性,降低各组成单元之间的耦合程度,从而提高MXMACA应用程序的可维护性和可扩展性。

MXMACA编程API由MXMACA C/C++语法、MXMACA C/C++数据类型、MXMACA C++语言扩展集以及MXMACA动态运行库提供的各种功能丰富的API组成。MXMACA编程API引入了C++语言扩展集,允许程序员将核函数定义为C++函数,并在每次调用核函数时使用一些新语法来指定线程网格和线程块的维度。所有语言扩展集的完整描述可以在第4.3节MXMACA C++语言扩展集中找到。任何包含这些扩展集的源文件都必须使用mxcc进行编译,如何使用mxcc进行编译在第7.1节中有详细的介绍。

MXMACA动态运行库提供了在主机上执行的C和C++函数。MXMACA动态运行库分为以下两种。

● MXMACA运行时库:被用于分配和释放设备内存、在主机内存和设备内存之间传输数据、管理具有多个设备的系统等。此外,MXMACA动态运行库还通过公开诸如MXMACA上下文(类似于设备的主机进程)和MXMACA模块(类似于设备的动态加载库)等较低级别的API来提供额外的控制级别。不过,大多数MXMACA应用程序不需要使用这部分API,因为它们不需要这种额外的控制级别,并且在使用动态运行库时,上下文和模块管理是隐式的,从而产生更简洁的代码。关于MXMACA运行时库的完整描述,本书后续的许多章节(如第4.3节、第5章、第6章、第8章等)将结合相应的编程内容进行讲解。

● MXMACA人工智能和计算加速库:主要面向机器学习、科学计算、大数据分析等专业应用领域,其完整描述可以在第10章中找到。

本章主要介绍编程API中的MXMACA C/C++语法、MXMACA C/C++语言数据类型和MXMACA C++语言扩展集,后续章节也会广泛使用这些基础API和内容。 YkdkoXGVcN3H+5F1dsNIHXkIrb1pYjCLgZOPkPEMup4RNM+t0BIMqj82h4ALnLZv

点击中间区域
呼出菜单
上一章
目录
下一章
×