paddlejitlab / cudatutorial Goto Github PK
View Code? Open in Web Editor NEWA self-learning tutorail for CUDA High Performance Programing.
License: Apache License 2.0
A self-learning tutorail for CUDA High Performance Programing.
License: Apache License 2.0
Windows使用nvprof需要将lib添加到环境变量中,并且nvprof无法在一些比较新的显卡上使用,报错信息如下:
D:\Codes\CUDATutorial\02_first_kernel>nvprof add.exe
======== Warning: nvprof is not supported on devices with compute capability 8.0 and higher.
Use NVIDIA Nsight Systems for GPU tracing and CPU sampling and NVIDIA Nsight Compute for GPU profiling.
Refer https://developer.nvidia.com/tools-overview for more details.
可能需要在03_nvprof_usage中补充nsight的使用方法。
请问 11_gemm_optimize 章节的矩阵示意图是使用什么来画的呢,画风非常好看!
First of all, great thanks to the authors for presenting the awesome tutorial, it really helps the newbees in CUDA programming!
I find that the cuda file is missing in 09_optimize_reduce/01_interleaved_addressing
folder, although the documentaion is quite clear, and simply replacing the reduce_naive.cu with some lines would work. However, I noticed that the cuda files are provided in other folders, so supplementing the file will benefit the consistency of the project.
Hope to see more updates of the tutorial!
如题
你好,我看了你的Thread Tiling那块的代码,有些地方不太理解。
// 计算每个线程的结果 for (uint dotIdx = 0; dotIdx < BK; ++dotIdx) { // 我们将点积循环放在外循环中,这有助于重用Bs,我们可以将其缓存在tmp变量中。 float Btmp = Bs[dotIdx * BN + threadCol]; for (uint resIdx = 0; resIdx < TM; ++resIdx) { threadResults[resIdx] += As[(threadRow * TM + resIdx) * BK + dotIdx] * Btmp; } }
这段代码我不太能理解,尤其是Btmp在Bs中的索引是*BN的,也就是按行索引的,threadCol也是[0-63]计算整行,As是乘TM,按列索引,这是否和图示的As按行Bs按列不太符合,还是我哪里理解的不对?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.