SDDA C 学习笔记 class_1
本文最后更新于25 天前,其中的信息可能已经过时,如有错误请发送邮件到zhangweihao22@outlook.com

全文总结:

附:

【思考】 用于那些产生对问题的思考,但是并不确定答案,还需要求证的地方的留痕

【妙点】 用于可以应用到后面优化的妙点

SDDA C 初印象

【思考】
SDDA C就有点像mpi
都是先把任务划分成几部分,然后传输到处理器,处理器接受处理后返回数据,最后对返回的数据进行处理,输出最后的结果

学习资料

【思考】
倾向于优先学习视频,其次学习文档资料
因为视频的内容容量大,传递的信息相对而言更容易接受

学习资料链接
视频链接:
太初元碁的个人空间-太初元碁个人主页-哔哩哔哩视频
文档链接:
文档中心

建议按照上图的顺序对文档资料进行学习
也就是:

PS:这个介绍之后感觉更像mpi指令了
【mpi好像也可以进行多设备并行计算】

【思考】
这个SDAA C的功能和mpi如此相像,那为什么不直接用mpi?
还是说这就是mpi的一个优化版本?

硬件基础知识

太初加速卡

对应储存结构

PS:主机是设备端???
不对,主机端和设备端还是有区别
主机端和设备端
这里的主机端可能是指云“机器”的主机

【思考】
SPM-SPE的私有储存空间
真的感觉这么像mpi,也是私有内存

【妙点】
在储存数据的时候,可以依照SPM的储存设计,对需要计算的数据进行切割和分发【或者其它类似的操作】?

编程模型

介绍:

【闲话】
欸???
这不就是mpi(的能力)吗?【黑人问号???】

多线程

任务核心

任务分配方式

Kernel函数??

【思考】
异构并行计算是否可以理解为:
本地制定、划分、传输任务到云端,然后云端计算、反馈计算结果
就是因为有本地和云端的存在,使得整个计算不在一个整体上,因此叫做异构并行计算???

线程代码是什么???
线程代码

数据传输

语法规范

语法、头文件以及关键字

【思考】
kernel函数作用到底是什么???

【思考】
矩阵转置是什么意思???
线代知识

语法、头文件

关键字

真正运行写代码的时候多看看这张图吧,哈哈哈哈

数据类型

TecoCC编译工具

示例解剖

程序的编写多了一部分

【思考】【现在我也不明白,等后面看看】

  1. 程序的书写
  2. 编译
  3. 运行

代码:

//需要哪些头文件???
//不需要...?
__global__ void kernel_entry()
{
    printf("Hello AI Card\n");
}

int main()
{
    sdaaSetDevice(0);
    kernel_entry<<<1>>>();
    sdaaDeviceSynchronize();

    return 0;
}

编译:

    tecocc test.scpp

运行:

    ./a.out

【思考】
按照上图结果来看
有多少个SPE就会执行多少次代码?【重复执行代码】
那是否需要/怎么精细化操作,避免重复执行代码的存在?

【思考】 用if+reuturn的操作?

这太复杂了吧,应该有其它的分配的函数或者关键字吧

PS:和mpi实现的过程相似

快乐的最后总结

2024/10/20 创建
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
Copyright 2025-2025 @ Ziyang
Running Time days H M S