24小时热门版块排行榜    

Znn3bq.jpeg
查看: 577  |  回复: 0

xuanyz

木虫 (小有名气)

[求助] 多个.cu文件的工程怎样声明和使用常量内存(constant)?

(1)如下仅包含一个test.cu文件的cuda程序,使用了常量内存__constant__ float num1[40]  程序可以运行没有问题:
//*****************test.cu**********************************
#include<cuda_runtime.h>  
#include<windows.h>  
#include<iostream>  
using namespace std;  
const int nMax = 50;  
  
__constant__ float num1[40];  
__global__ void exchangeKernel(float *aaa)  
{  
    int offset = threadIdx.x + blockDim.x * blockIdx.x;  
    aaa[offset] = num1[offset];  
}  
  
int main(){  
    float *devA,tmp[40],res[40];  
    cudaMalloc((void**)&devA, 40*sizeof(float));  
    for (int i = 0; i < 40; i++)tmp = i*1.5f;  
    cudaMemcpyToSymbol(num1, tmp, 40 * sizeof(float));  
    exchangeKernel << <4, 10 >> >(devA);  
    cudaMemcpy(res, devA, 40 * sizeof(float), cudaMemcpyDeviceToHost);  
    for (int i = 0; i < 40; i++){  
        cout << res << " " << endl;  
    }  
    cin >> res[1];  
    return 0;  
}  
//********************test.cu*******************************
(2)如果想将上面的一个test.cu文件拆分为两个.cu文件(如test1.cu和test2.cu)怎样继续使用 常量内存__constant__ float num1[40]
  我的大致想想法如下:
                        test1.cu内容:
//********************test1.cu*******************************
__global__ void exchangeKernel(float *aaa)  
{  
    int offset = threadIdx.x + blockDim.x * blockIdx.x;  
    aaa[offset] = num1[offset];  
}  
//********************test1.cu*******************************

                              test2.cu内容:
//********************test2.cu*******************************
#include "cuda_runtime.h"  
#include "device_launch_parameters.h"
#include<windows.h>  
#include<iostream>  
using namespace std;  
const int nMax = 50;  

__device__ __constant__ float num1[40];  //常量内存

  __global__ void exchangeKernel(float *aaa);  //函数声明
int main(){  
    float *devA,tmp[40],res[40];  
    cudaMalloc((void**)&devA, 40*sizeof(float));  
    for (int i = 0; i < 40; i++)tmp = i*1.5f;  
    cudaMemcpyToSymbol(num1, tmp, 40 * sizeof(float));  
    exchangeKernel << <4, 10 >> >(devA);  
    cudaMemcpy(res, devA, 40 * sizeof(float), cudaMemcpyDeviceToHost);  
    for (int i = 0; i < 40; i++){  
        cout << res << " " << endl;  
    }  
    cin >> res[1];  
    return 0;  
}
//********************test2.cu*******************************
(3)但我的想法没有实现(提示错误为:error : identifier "num1" is undefined),求高人指点,如何在多个.cu文件的工程中声明和使用常量内存?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xuanyz 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 1rx34o113h 2026-05-23 3/150 2026-05-24 17:41 by 0i3mu4vkjz
[基金申请] 评审有感 +16 popular289 2026-05-18 27/1350 2026-05-24 17:34 by hhs666
[教师之家] 论文撤稿了 +4 bjvtcliu 2026-05-24 7/350 2026-05-24 17:29 by bjvtcliu
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 hvkbtfonbv 2026-05-23 4/200 2026-05-24 17:21 by 75ui6h7z2t
[博后之家] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 hvkbtfonbv 2026-05-23 3/150 2026-05-24 17:10 by 75ui6h7z2t
[考研] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 a2tycdlnq1 2026-05-23 5/250 2026-05-24 16:21 by hhx1yx9evi
[论文投稿] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 a2tycdlnq1 2026-05-23 4/200 2026-05-24 16:16 by hhx1yx9evi
[基金申请] 河北省自然科学基金 +6 Peterchao 2026-05-18 9/450 2026-05-24 16:02 by 130067131
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +4 pmo95bazuy 2026-05-23 8/400 2026-05-24 15:56 by 1uy1ht2y9r
[基金申请] 西安交大新媒学院副院长用撤稿论文结题 +3 bjvtcliu 2026-05-24 5/250 2026-05-24 10:16 by kudofaye
[教师之家] 某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路! +4 zju2000 2026-05-21 5/250 2026-05-24 09:35 by songwz
[考博] 26/27申博自荐 10+4 ZXW0202 2026-05-22 9/450 2026-05-24 08:47 by bjvtcliu
[基金申请] 青B发送上会通知了吗 +5 chemBioBro 2026-05-22 7/350 2026-05-23 12:35 by zhuifengzhy
[考博] 博士申请 +3 焦晓明 2026-05-21 3/150 2026-05-23 11:26 by mlc840311
[论文投稿] 投稿求助,期刊 +4 希冀,有书读 2026-05-20 8/400 2026-05-22 10:16 by 希冀,有书读
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +14 1234567wang 2026-05-17 16/800 2026-05-21 17:58 by 脆脆的饼干
[基金申请] 国自然上会要求 +7 无名者登山 2026-05-18 11/550 2026-05-21 15:50 by draco1987
[基金申请] 提交了我也来说说感想 +9 fummck 2026-05-20 10/500 2026-05-21 14:17 by draco1987
[考博] 如果工作了想读博,可以边工作边读全日制嘛? 30+3 铁达火车 2026-05-18 5/250 2026-05-20 09:33 by tfang
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
信息提示
请填处理意见