首页 > 编程语言 >无GPU情况下对cuda程序进行功能性测试

无GPU情况下对cuda程序进行功能性测试

时间:2024-07-14 22:31:13浏览次数:17  
标签:功能性 gpgpu app so cuda GPU distribution sim

安装cuda-toolkit, 在没有gpu的情况下,不能安装其中的cuda driver, 不勾选,装cuda toolkit即可。

安装gpgpu-sim程序。gpgpu的仿真程序,目前仅仅支持cuda11。而cuda11最高支持的ubuntu为20.0。但在22.0的ubuntu上下载cuda11,也可以编译。

参看gpgpu README.md编译,过程中报错如下,可去掉invaliad token前后的双引号。

gpgpu-sim_distribution/build/gcc-/cuda-11000/release/cuda-sim/ptx_parser_decode.def:4:13: error: unable to find string literal operator 'operator""invalid' with 'const char [28]', 'long unsigned int' arguments
1304     4 | DEF(YYUNDEF,"YYUNDEF                 /* "invalid token"  */")

另外gpgpu中判断cuda版本的函数get_app_cuda_version也有问题,直接修改成return 11,本地用,不规范但好使。

static int get_app_cuda_version() {
  int app_cuda_version = 0;
  return 11;

gpgpu的核心原理是替换了cudart.so, 原cpu端的程序和gpu device打交道通过这个so完成,替换为gpgpu的so之后,原来跑在device的指令,变成跑在仿真程序指令上。一个简单的端到端示例如下,

# 从nvidia sample拷贝vectorAdd的例子到本地
cp ~/NVIDIA_CUDA-11.0_Samples/0_Simple/vectorAdd/* . 
# 若没有gpu,可以破罐子破摔,将编译的gpgpu中的libcudart.so替换原本的cuda11 so,
# sudo ln -sfT /path/to/gpgpu/build/libcudart.so /usr/local/cuda/
# 手动启动编译命令
nvcc vectorAdd.cu -o app -I/home/zwl/NVIDIA_CUDA-11.0_Samples/common/inc -g --cudart shared
cp gpgpu-sim_distribution/configs/tested-cfgs/SM2_GTX480/gpgpusim.config .
cp gpgpu-sim_distribution/configs/tested-cfgs/SM2_GTX480/gpuwattch_gtx480.xml .
# 运行程序,运行前先设置一下环境
export CUDA_INSTALL_PATH=/usr/local/cuda
source ~/software/gpgpu-sim_distribution/setup_environment debug
./app

标签:功能性,gpgpu,app,so,cuda,GPU,distribution,sim
From: https://www.cnblogs.com/zwlwf/p/18302131

相关文章

  • Cuda编程:__syncthreads运行时API在访问共享内存时的使用
    该运行时API的作用作为在访问共享内存时作为线程块内的同步机制出现,保证同一线程块内所有线程到程序运行到这个运行时API调用时都能运行完毕(注意,该API不能同步不同线程块内的线程),例如下列Cuda静态共享内存使用代码示例程序中的第23行所示:/*************************************......
  • 大规模GPU集群的进阶之路
    大家好,我是卢旗。今天来聊聊GPU。GPU,全称GraphicProcessingUnit,即图形处理器。它的并行处理能力非常强大,能够同时处理多个任务和数据,因此被广泛用于图形渲染、视频处理、深度学习、科学计算等领域。研发团队在负责制定硬件选型策略并设计优化下一代大规模GPU集群的软硬件架......
  • 【小白向】在conda-forge中下载cudatoolkit和cudnn报错
    由于直接condasearch没有想要的cudatoolkit版本(当前windows对应的tensorflow-gpu只能<2.11),所以换成conda-forge进行搜索,condainstallcudatoolkit==11.2.0后报错:ERRORconda.core.link:_execute(950):Anerroroccurredwhileinstallingpackage'conda-forge::cudatoolki......
  • Llama2大语言模型在云GPU(AutoDL)上进行训练微调(自定义数据集)
    Llama2是Meta开源的语言大模型,它经过训练的数据集包含2万亿个token。相比Llama,Llama2的上下文长度已经从2048扩展到4096,这使其能够理解和生成更长的文本。Llama2包括了多个模型,分别是7B、13B和70B的模型。一、准备工作在autodl平台租用实例(直接搜索,有许多租用教程,建议租......
  • python获取Android App性能数据(CPU、GPU、内存、电池、耗电量)
    原文链接:https://blog.csdn.net/u012089395/article/details/1266689461、原理python脚本通过os.popen()方法运行adb命令,获取性能数据,将性能数据保存在csv文件并算出均值、最大值、最小值。本脚本可测试一个app包含多个进程的场景,可以获取每个进程的性能数据。2、环境准备:2.1软......
  • Cuda并行编程:组织线程模型
    重点计算线程唯一标识,并确保没有线程越界的技巧:以下列英伟达官方的Cuda程序示例为例子/*Copyright(c)2022,NVIDIACORPORATION.Allrightsreserved.**Redistributionanduseinsourceandbinaryforms,withorwithout*modification,arepermittedprovide......
  • 【视频讲解】Python比赛LightGBM、XGBoost+GPU和CatBoost预测学生在游戏学习过程表现|
    全文链接:https://tecdat.cn/?p=36990原文出处:拓端数据部落公众号分析师:QiZhang背景基于游戏进行学习能让学校变得有趣,这种教育方法能让学生在游戏中学习,使其变得有趣和充满活力。尽管基于游戏的学习正在越来越多的教育环境中使用,但能用应用数据科学和学习分析原理来......
  • 生成式 AI 的新引擎:探索 Amazon EC2 P5 实例与 NVIDIA H100 GPU 的结合
    欢迎来到雲闪世界。人工智能(AI)和机器学习(ML)正以前所未有的速度改变我们的世界。为  欢迎来到雲闪世界。了支持这些技术的进步,计算能力的需求也在不断增加。2023年3月,AWS和NVIDIA宣布了一项深度合作,重点是构建最具可扩展性的按需AI基础设施,专为训练日益复杂的大型语言模型(LLM......
  • 关于pytorch2.3.x和cuda11.8,python3.11配置问题。cuda配置好了,然后和pytorch版本也是
    问题描述:NVIDIA-SMI的版本是12.5,cuda的版本是11.8,path路径都没有问题C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.8\binC:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.8\libnvvpC:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.8\incl......
  • 解决PyTorch中的RuntimeError: CUDA error: device-side assert triggered
    解决PyTorch中的RuntimeError:CUDAerror:device-sideasserttriggered......