返回> 网站首页 

Ubuntu 18.04 下安装运行 GPGPU-Sim

yoours2024-04-13 19:20:30 阅读 721

简介一边听听音乐,一边写写文章。


一、简介

    gpgpu-sim是一个GPU模拟器,可以让cuda程序运行在一个软件模拟器上,而不需要硬件GPU。

    本文主要参考 https://zhuanlan.zhihu.com/p/369673760 来一步步实现,并根据新出现的安装问题做调整修改。


二、安装Ubuntu18.04x64

        尝试在Ubuntu22.04版本上安装,gcc5太繁琐未成功,改用18.04版本。

    1. 安装依赖文件

        sudo apt-get install build-essential xutils-dev bison zlib1g-dev flex libglu1-mesa-dev

        sudo apt-get install doxygen graphviz

        sudo apt-get install freeglut3-dev

        sudo apt-get install libpng-dev


    2. 安装gcc-5、g++-5

    sudo apt-get install gcc-5 g++-5

    创建链接

    sudo ln -s /usr/bin/gcc-5 /usr/bin/gcc

    sudo ln -s /usr/bin/g++-5 /usr/bin/g++


三、安装cuda环境

        cuda下载哪个版本需要根据gpgpu-sim中的readme来决定,目前不支持版本12,最大仅支持11。

        官方地址:https://developer.nvidia.com/cuda-11-8-0-download-archive

        

        a) 下载安装

            wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

            sudo sh cuda_11.8.0_520.61.05_linux.run #该命令执行时间较长需要等待一会。

            如图,输入accept。

    

        如下图,使用空格选择,且只需选择CUDA Toolkit,其他的不选择。

    

        安装完成如下图:

    

        b) 借助迅雷等下载工具下载,再通过ssh传入ubuntu系统中

            安装 ssh,使用WinSCP传入文件。

            sudo apt install openssh-server -y

            sudo systemctl enable --now ssh

            如果是ssh传入,需要执行权限

            chmod 777 cuda_11.8.0_520.61.05_linux.run

    4. 添加并启用环境变量

        sudo gedit ~/.bashrc

        文件末尾增加如下:

            export CUDA_INSTALL_PATH=/usr/local/cuda

            export PATH=$CUDA_INSTALL_PATH/bin:$PATH

            export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_INSTALL_PATH/lib64

        立即启用修改的环境配置

            source ~/.bashrc

        在终端输入:

            nvcc -V 查看cuda版本信息,确认是否安装配置成功。


四、安装gpgpu-sim

    1. 安装git

        sudo apt install git

    2. 下载源代码

        git clone https://github.com/gpgpu-sim/gpgpu-sim_distribution

    3. 配置环境

        source setup_environment

        

    4. 编译

        如果文件夹为管理员权限需要改为允许任何人读写,否则编译不通过

        sudo chmod -R 777 gpgpu-sim_distribution

        make

 五、运行demo测试

    文件名: hello.cu

    #include <stdio.h>

    #include <cuda_runtime.h>

// CUDA核函数声明

__global__ void add(int a, int b, int *c)

{

    *c = a + b;

}


int main()

{

    int c;

    int *dev_c;

        // 分配设备内存

    cudaMalloc((void **)&dev_c, sizeof(int));

        // 调用CUDA核函数

    add<<<1, 1>>>(2, 7, dev_c);

        // 将结果从设备复制回主机

    cudaMemcpy(&c, dev_c, sizeof(int), cudaMemcpyDeviceToHost);

        // 输出结果

    printf("2 + 7 = %d\n", c);

        // 释放设备内存

    cudaFree(dev_c);

        return 0;

}


    编译:

        编译之前必须在GPGPU环境下进行编译

        source setup_environment

        nvcc --cudart shared -o hello hello.cu

    查看链接的so库是否正确

    

    运行之前还需要拷贝三个文件,到当前文件夹:

        将 gpgpu-sim_distribution/configs/tested-cfgs/SM2_GTX480文件夹下的三个文件拷贝到编译后的程序文件夹内,然后运行,运行速度回比较慢:

        

六、NVIDIA Visual Profiler分析工具

       查看当前java的版本,需要 jdk-8u401-linux-x64.tar.gz

    1. 卸载当前的java

        sudo apt-get remove openjdk*

    2. 下载java
        https://www.oracle.com/java/technologies/downloads/#java8
    3. 解压缩
        tar -xzvf jdk-8u151-linux-x64.tar.gz
    4. 配置/etc/profile     
        vim /etc/profile
        export JAVA_HOME=/usr/local/jdk-8u401-linux-x64
        export PATH=$JAVA_HOME/bin:$PATH
        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
        source /etc/profile 
    5. 运行
        nvvp

微信小程序扫码登陆

文章评论

721人参与,0条评论