- 博客(10)
- 收藏
- 关注
原创 Bert介绍
BERT(Bidirectional Encoder Representation from Transformers)是2018年10月由Google AI研究院提出的一种预训练模型,论文来自于:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding。整体结构分为Embedding、Transformer Encoder结构和模型输出。
2024-06-10 17:37:16 800
原创 手把手教你不用SASS写出超越cublas的GEMM
最终,mykernel在M,N,K都是2048的情况下比cublas快了7.3%,并且文章给大家提供了一步步查看profiler来优化GEMM kernel的过程,而不像其他文章一样直接给个最终结果,希望能对你的kernel优化有所帮助。
2024-05-15 15:33:52 1144
原创 详解eigen中的表达式模板
通过参考eigen,实现了自己的一个表达式模板,目前可以完成加法和减法运算,并预留了其他运算的接口。主要优化技巧有:1、head only:只有头文件,使用方便;2、运用栈存储元素;3、运用表达式模板进行lazy compute,减少访存和临时变量生成;4、对赋值进行循环展开。
2024-03-05 16:35:33 997 1
原创 使用TVM优化GEMM
优化时间(s)default2.930760+tile0.261980+vectorize0.16041+parallel0.025833。
2023-11-21 13:07:11 185 1
原创 IPC(Inter Process Communication)通信(C代码)
主要用sem_open,sem_post,sem_wait,sem_try_wait,同样也是基于name进行匹配,其中sem_post每次执行,信号量会加1,sem_wait每次执行,信号量会减1,这里同样写了一个简单的Producer和Consumer;unamed pipe必须在具有亲缘关系的管道中才能使用,fifo管道,将能够避免这个问题,fifo的核心API是mkfifo,具体使用方式类似于文件,下面是一个fifo调用的Writer和Reader;这里分别写了两个class来实现文件读和写;
2023-11-14 13:02:48 153
原创 openmp #pragma omp task总结
如果产生task的数量过多且每个task处理的内容很少,会发生极其严重的负向优化;在unbloundloop结构中,如果process的的内容与前后的task有关,也是负向优化;在unbloundloop结构中,只有每个task处理的内容与前后无关,会产生正向优化;taskloop可以有效降低运行时间,但是grainsize不应该选用过小。
2023-11-01 18:50:05 696 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人