请输入关键字
搜索

太初资讯

跨越技术壁垒,打破固有模式,用智慧重新链接关系。

神碁智慧 · 算领未来 | SDAA C 起航篇!



引言:

在数字化时代,技术的边界正以前所未有的速度被拓展。人工智能、机器学习、高性能计算等领域的突破,正引领我们进入一个全新的计算时代。如何驾驭这澎湃的算力洪流,成为我们面临的最大挑战。而编程语言,作为驾驭算力的钥匙,不仅是构建未来世界的基石,更是解锁无限可能的关键。

SDAA C结合太初AI加速卡的硬件特性,提供丰富且灵活的编程接口,不仅能简化程序开发,提升开发效率,还能满足开发者对性能的极致追求。

神碁智慧,算领未来,从浅入深,探秘SDAA C,让我们携手开启国产智能计算的新篇章!


SDAA C(Software Defined Accelerator Architecture C)是运行在太初异构并行计算平台上的编程语言。以太初AI加速卡为计算核心,支持C/C++编程语言,仅需学习少量的SDAA C编程语法即可快速上手编程。同时SDAA C最大化地隐藏了底层硬件的实现细节,无需深入了解硬件的体系架构即可正常使用太初AI加速卡提供的强大算力,大幅度降低学习成本,使开发者可以专注于并行程序的开发。


太初异构并行计算平台以太初人工智能系列硬件为基础,基础组件层完成对硬件驱动及操作系统的高度抽象,并提供完整的运行时库,编程模型及配套的编译、调试和分析工具;加速库提供包括太初DNN、太初BLAS等基础且丰富的算子库;应用层整合了当前主流的深度学习框架。


SDAA C运行于基础组件层,对下屏蔽了硬件的物理特性,对上提供了丰富的编程接口,以及代码调试、调优工具。无需感知底层的硬件细节,仅需遵从SDAA C的规范即可使用太初AI加速卡,为高并发、大数据运算提供强有力的算力支撑。


产品亮点


SDAA C规避了主流加速器编程模型中存在的编程语法学习成本高、与硬件强相关造成的兼容性差等诸多缺点,是一款上手简单,同时内容丰富的编程语言。



  • 接口灵活,满足不同使用需求
SDAA C针对不同开发者的使用需求,分别提供了阻塞型接口和非阻塞型接口。阻塞型接口是SDAA C对太初AI加速卡硬件特性的高度抽象,该类接口使用简单,无需深入了解硬件的体系架构,即可快速使用太初AI加速卡提供的强大算力。非阻塞型接口则更加贴合太初AI加速卡的硬件特性,使用更加灵活,可以满足开发者对极致性能的追求。

  • 丰富的函数接口,提升开发效率
SDAA C支持线程组、计算单元同步、内存管理、数据搬运、原子操作、矩阵乘、转置操作、向量操作、性能采样等各类接口。这些接口完成了对硬件特性的抽象封装,开发者可以更简单地使用太初AI加速卡,简化应用程序开发,提高开发效率。

  • 丰富的数学函数,简化程序开发

SDAA C集成了包括:正弦计算、余弦计算、正切计算、指数计算、对数计算、高斯误差计算等常用标量数学计算接口。同时为了满足对应用程序运行性能的追求,还提供相应的向量数学函数计算接口。


  • 自动并行计算,提升程序性能

SDAA C采用SPMD(Single-Program Multiple-Data)编程范式,即:同一份应用程序会自动运行到多个计算单元上,每个计算单元都可以独立完成对子任务的求解。开发者只需要关注如何将一个问题,合理地分解为若干个子问题,并将其分配到不同的计算单元上进行并行求解。SPMD编程范式能够简化并行开发逻辑,同时保证应用程序的性能。

  • 支持异构调试,降低调试成本

SDAA C提供异构调试功能,针对Host端代码,可以通过自主研发的TecoGDB调试工具进行调试;针对Device端代码,可以通过TecoGDB工具进行调试,同时开发者也可以通过SDAA C的性能接口获取指定代码段的性能数据。异构调试可以缩短代码调试和调优的时间,提升开发效率。



学习资源


  • 官方文档中心
更多详细信息,可以登录太初官方文档中心(http://docs.tecorigin.com/),或扫描下方二维码,快速获取海量学习资源:SDAA C接口的详细使用信息、如何零基础快速开发算子、性能优化实战等、专家视频课程等。


  • B站视频教程

专家详解SDAA C,已全新上线B站,从基础到进阶,手把手带你玩转SDAA C编程。

  • 技术专题

神碁智慧,算领未来!SDAA C系列技术专题,带你从零探秘SDAA C编程语言,敬请期待!

  • 神碁智慧,算领未来 | SDAA C基本概念和Hello AI Card

  • 神碁智慧,算领未来 | SDAA C接口介绍1

  • 神碁智慧,算领未来 | SDAA C接口介绍2

  • 神碁智慧,算领未来 | 零基础使用SDAA C编写Add算子

  • 神碁智慧,算领未来 | 零基础使用SDAA C编写Matmul算子

  • 神碁智慧,算领未来 | SDAA C程序调试-TecoGDB命令行工具

  • 神碁智慧,算领未来 | SDAA C-Add算子性能优化实战

  • 神碁智慧,算领未来 | SDAA C-Matmul算子性能优化实战


结语

太初AI加速卡面向加速计算领域、聚焦通用人工智能和科学大规模计算问题,在大规模并行计算领域积累深厚,屡获高性能计算领域最高奖戈登·贝尔奖。SDAA C编程语言为开发者能够在太初AI加速卡上高效地编写应用程序奠定了坚实的基础,让每位开发者都能轻松使用太初AI加速卡的澎湃算力。我们期待与每一位在人工智能以及高性能计算领域探索的开发者一起,开启国产芯片智能计算新篇章,携手打造更加繁荣的人工智能生态。