ubuntu 18.04 配置安装 gem5-gpu

博客介绍了代码开发的一系列流程,包括下载源代码,需注意路径勿用中文,还涉及hg扩展选项设置;配置依赖环境,如安装依赖、配置cuda环境变量、卸载并重新安装protobuf;编译时处理未定义错误和头文件缺失问题;进行简单测试和内存相关测试;编译测试程序,解决gcc和g++版本问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**
重要的事情开头就说明,路径中不要有中文,要不然会报UnicodeDecodeError : 'ascii' codec can't decode byte 0xe6 in position 10: ordinal not in range(128)。这个错误折腾了一下午和一晚上,啊啊啊啊啊啊啊,好烦阿!!!!! 这时候就看出来一个良好的习惯是多么重要!
**

1.下载源代码

hg qclone http://repo.gem5.org/gem5 -p http://gem5-gpu.cs.wisc.edu/repo/gem5-patches

使用此命令下载源代码,执行命令的时候终端处于哪个位置,则源代码就下载到哪个位置。第一次执行这个命令的时候,会报错

'qclone' is provided by the following extension: mq, manage a stack of patches

(use 'hg help extensions' for information on enabling extensions)

,需要打开hg的扩展选项,使得终端可以识别qclone命令,添加名字以便使用update功能。在~/.hgrc文件中添加如下选项

[ui]
username = jzy
[extensions] 
mq = 

之后再执行命令行即可完成识别,下载源码。
下载gem5:

hg qclone http://repo.gem5.org/gem5 -p http://gem5-gpu.cs.wisc.edu/repo/gem5-patches
cd gem5/
hg update -r 11061
hg qpush -a

下载gpgpu-sim:

hg qclone http://gem5-gpu.cs.wisc.edu/repo/gpgpu-sim -p http://gem5-gpu.cs.wisc.edu/repo/gpgpu-sim-patches
cd gpgpu-sim
hg qpush -a

下载粘合代码:

hg clone http://gem5-gpu.cs.wisc.edu/repo/gem5-gpu

2.配置依赖环境

使用这些命令安装依赖:

apt install xutils-dev bison flex libglu1-mesa-dev doxygen graphviz python-pmw python-ply python-numpy libpng-dev

再配置cuda的环境变量。
另一个重头戏就是卸载系统自带的protobuf,重新编译安装。首先卸载:

apt remove libprotobuf-dev
which protoc
rm /usr/bin/protoc

再安装新版protobuf,下载原文件在本机上编译。先配置环境:

apt install autoconf automake libtool curl make g++ unzip

下载源代码:

git clone https://github.com/google/protobuf.git
cd protobuf
git submodule update --init --recursive 

检查环境:

./autogen.sh
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.

之后检查版本号,验证是否正确安装。本次实验中,首先使用3.6版发现太高了,又实验了2.7版发现太低了。最终卸载系统自带的3.0版,重新手动安装3.0.0版,最终成功编译通过。

注意,出现如下情况则说明编译的文件使用新版本的protobuf,而你使用的是旧版本的protobuf。

error This file was generated by a newer version of protoc which is  
error incompatible with your Protocol Buffer headers.  Please update  
error your headers. 

反之则是编译的文件使用的旧版本的protobuf,而你使用的是新版本的protobuf

error This file was generated by an older version of protoc which is  
error incompatible with your Protocol Buffer headers.  Please  
error regenerate this file with a newer version of protoc.  

3.编译

cd gem5
scons build/X86_VI_hammer_GPU/gem5.opt --default=X86 EXTRAS=../gem5-gpu/src:../gpgpu-sim/ PROTOCOL=VI_hammer GPGPU_SIM=True -j12

编译过程中会报未定义的错,去修改源代码,gem5/build/X86_VI_hammer_GPU/proto/packet.pb.h,build/X86_VI_hammer_GPU/proto/inst.pb.h,build/X86_VI_hammer_GPU/proto/inst.pb.cc在最顶部增加一行:#define PROTOBUF_INLINE_NOT_IN_HEADERS 0,接下来继续编译。出现头文件缺失情况后,在系统中找到这个头文件,再直接把绝对路径加到include里面。

4.测试

使用如下命令简单测试:

build/X86_VI_hammer_GPU/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../gem5-gpu/tests/test-progs/hello/bin/x86/linux/hello -o 16

输出hello word则成功。测试内存相关的选项:

build/X86_VI_hammer_GPU/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../gem5-gpu/tests/test-progs/gem5_gpu_memcpy_load/bin/x86/linux/gem5_gpu_memcpy_load -o 16

再来一波测试

build/X86_VI_hammer_GPU/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../gem5-gpu/tests/test-progs/gem5_gpu_bh/bin/x86/linux/gem5_gpu_bh -o 16

5.编译测试程序

从维基百科可以获得给的测试集,需要和gem5文件夹在统一级目录下。

hg clone https://gem5-gpu.cs.wisc.edu/repo/benchmarks/

再修改环境变量为

export CUDAHOME=<path to your cuda install>/cuda
export PATH=$PATH:<path to your cuda install>/bin/
export NVIDIA_CUDA_SDK_LOCATION=<path to your sdk installation>/C

编译libcuda,期间有两次找不到头文件,直接使用绝对路径即可。两个头文件的绝对路径是一样的。

cd benchmarks/libcuda
make

编译一个测试程序,以rodinia为例:

cd rodinia/bfs
make gem5-fusion

但是因为gcc和g++版本问题,需要手动安装4.4版。
官网下载gcc4.4:https://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.4.7。
官网下载gmp:https://gmplib.org/
官网下载mpfr:https://www.mpfr.org/mpfr-current/#download
官网下载mpc:http://ftp.gnu.org/gnu/mpc/

安装gmp,执行命令

cd /usr/local/gmp-6.1.2
./configure
make -j12
make check -j12
make install -j12

安装mpfr:

cd /usr/local/mpfr-4.0.2
./configure
make -j12
make check -j12
make install -j12

安装mpc:
会出现一些小问题,将/src/mul.c内的所有mpfr_fmma函数改名为mpfr_fmma_mul

 cd /usr/local/mpc-1.0.1
    ./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib --with-mpfr-include=/usr/local/include --with-mpfr-lib=/usr/local/lib
    make -j12
    make check -j12
    make install -j12

终于完成了这些配置,接下来就要安装gcc-4.8了。编译过程中出现了错误,需要

cd /usr/local/gcc-4.4.7/gcc_temp
../configure --prefix=/usr   --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local
make -j12
make install -j12

L I B R A R Y P A T H :   / N V I D I A G P U C o m p u t i n g S D K / C / l i b / u s r / l o c a l / c u d a / l i b 64 : / u s r / l o c a l / c u d a / l i b : LIBRARY_PATH:~/NVIDIA_GPU_Computing_SDK/C/lib /usr/local/cuda/lib64:/usr/local/cuda/lib: LIBRARYPATH: /NVIDIAGPUComputingSDK/C/lib/usr/local/cuda/lib64:/usr/local/cuda/lib:LD_LIBRARY_PATH

### 回答1: 安装caffe-ssd-gpuubuntu18.04的步骤如下: 1. 安装CUDA:从Nvidia官网下载合适的CUDA安装包,按照官方文档的指引进行安装。 2. 安装依赖:运行以下命令安装所需依赖库: ``` sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev \ libopencv-dev libhdf5-serial-dev protobuf-compiler \ libgflags-dev libgoogle-glog-dev liblmdb-dev libboost-all-dev ``` 3. 下载caffe-ssd-gpu源码并编译:从Github上下载caffe-ssd-gpu的源码,按照官方文档指引进行编译。编译时需要指定编译选项为GPU模式。 4. 运行测试:安装完成后,运行测试脚本,确保安装配置成功。 以上为简要步骤,具体操作请参考对应文档和官方指引。 ### 回答2: Ubuntu18.04是目前比较常见的Linux操作系统之一,而CAFFE-SSD-GPU是深度学习的一个工具。下面是安装caffe-ssd-gpu的步骤: 1. 安装CUDA和cuDNN 首先,您需要安装CUDA和cuDNN,这是运行深度学习框架所需的必备组件。下载安装CUDA和cuDNN之前,您需要查看您的图形卡的型号,以便选择正确的CUDA版本和cuDNN版本。 在下载和安装CUDA和cuDNN之前,您需要在NVIDIA的开发者网站上注册自己,并下载适用于您机器的CUDA和cuDNN版本。此外,您还需要在命令行界面中设置以下环境变量: export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH 2. 安装依赖项 在安装caffe之前,需要安装一些依赖项。您可以使用以下命令将这些依赖项安装到您的Ubuntu系统上: sudo apt-get update sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml python-numpy python-scipy 3. 下载和安装CAFFE 现在,您需要在您的系统上下载和安装CAFFE。从github上获取caffesource代码并进行安装: git clone https://github.com/weiliu89/caffe.git cd caffe git checkout ssd 4. 编译和安装CAFFE 使用以下命令编译和安装caffe: cp Makefile.config.example Makefile.config make all -j $(($(nproc) + 1)) make pycaffe 执行该命令后,您需要等待一段时间才能完成CAFFE的编译。如果出现任何编译错误,请检查您的CUDA和cuDNN版本是否正确,并重新安装依赖项。 5. 使用CAFFE-SSD-GPU 现在,您已经成功地在Ubuntu18.04操作系统上安装并编译了CAFFE-SSD-GPU,您可以开始使用该工具来执行深度学习任务了。 总结 安装CAFFE-SSD-GPU需要充分理解linux的命令行操作。需要先确认CUDA和cuDNN已经安装,并正确设置环境变量。然后需要下载和安装CAFFE, 并最后编译和安装CAFFE。在安装过程中如果存在问题,可以查看错误日志,重新检查步骤。如果对命令行操作不熟悉,则先学习linux基础操作。 ### 回答3: caffe-ssd-gpu是一种基于caffe框架的用于实现目标检测的神经网络模型,在Ubuntu18.04系统中安装caffe-ssd-gpu需要进行以下步骤: 1. 安装CUDA CUDA是NVIDIA公司推出的用于高性能计算的并行计算平台和编程模型,是使用GPU进行深度学习任务所必需的。在Ubuntu18.04安装CUDA需要首先确认自己的显卡型号,并选择合适的CUDA版本进行安装。可以在NVIDIA官网上下载相应的CUDA安装包,也可以通过命令行方式进行安装。在安装过程中注意要按照提示完成相应的配置和设置。 2. 安装cuDNN cuDNN是用于深度神经网络的GPU加速库,也是必需的组件之一。在安装过程中同样需要确认CUDA的版本和自己的显卡型号,并下载相应的cuDNN安装包进行安装。 3. 安装依赖包 在安装caffe-ssd-gpu前需要先安装几个依赖包,包括protobuf、opencv、boost等。可以通过命令行方式进行安装,例如: ``` sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev ``` 4. 下载caffe-ssd-gpu源码 可以在GitHub上找到caffe-ssd-gpu的源码,下载后解压到自己想要的目录下。 5. 编译和安装caffe-ssd-gpu 进入caffe-ssd-gpu源码目录下,执行以下命令: ``` cd caffe-ssd-gpu mkdir build cd build cmake .. make all -j8 make install ``` 其中,make all -j8表示使用8个线程进行编译,提高编译速度。make install表示安装编译好的caffe-ssd-gpu库文件和可执行文件。 6. 测试安装是否成功 可以尝试运行caffe-ssd-gpu自带的测试程序,检查安装是否成功。在源码目录下执行以下命令: ``` ./build/tools/caffe time --model=models/VGGNet/VOC0712/SSD_300x300_ft/deploy.prototxt --gpu=0 ``` 这条命令会测试caffe-ssd-gpuGPU上执行推断的速度,如果没有问题,则说明安装成功。 需要注意的是,在安装过程中可能会遇到各种问题,例如依赖包的版本不兼容、CUDA和cuDNN的配置出错等等。这时候需要耐心调试错误,逐个解决问题,才能确保caffe-ssd-gpu能够正常运行。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值