Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


程序:cuda:编译器指令

编译器指令


unroll

#pragma unroll 是一个 编译器指令,用于提示编译器对接下来的 循环进行展开(loop unrolling) 优化

#pragma unroll
for (int i = 0; i < 4; ++i) {
    a[i] = b[i] + c[i];
}
 
// 这会提示编译器将循环展开成如下形式:
a[0] = b[0] + c[0];
a[1] = b[1] + c[1];
a[2] = b[2] + c[2];
a[3] = b[3] + c[3];
 
// 这告诉编译器每次展开两次迭代,具体是否这样展开由编译器决定
#pragma unroll 2
for (int i = 0; i < 4; ++i) {
    a[i] = b[i] + c[i];
}
 
// 禁止展开
#pragma unroll 1
#pragma nounroll
/var/www/DokuWikiStick/dokuwiki/data/pages/程序/cuda/编译器指令.txt · Last modified: 2025/08/09 13:06 by zhonghui