### 使用指南
#### 系统需求
建议在安装了以下软件的系统环境中安装**cuBridge**,然后再开始实验和使用 :
| 软件安装 | 安装指南 |
| ----- | ------------------------------------------------------------ |
| CUDA工具包| 详见[NVIDIA CUDA Installation Guide for Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) |
| MXMACA工具包| 详见[MXMACA快速上手指南](https://www.metax-tech.com/platform.html?cid=4) |
#### 安装**cuBridge**
以下是**cuBridge**安装指南,有问题或建议请私信[p4ul](https://gitee.com/p4ul)。
##### Step 1:确定**cuBridge**安装位置
**cuBridge**对安装位置没有限制,可以是编译机器的任意目录。
在step2中,将`CMAKE_INSTALL_PREFIX`的路径设置为cuBridge的安装位置。
推荐安装到MACA_PATH环境变量所在位置的tools子目录,例如cuBridge解压到/opt/maca/tools/目录下。
##### Step 2:安装**cuBridge**
安装前,根据[MXMACA快速上手指南](https://www.metax-tech.com/platform.html?cid=4) 先设置MACA_PATH环境变量
###### 方法1:直接使用git clone安装
```shell
git clone https://gitee.com/p4ul/cu-bridge.git
sudo chmod 755 cu-bridge -Rf
#set env MACA_PATH
cd cu-bridge
mkdir build && cd ./build
cmake -DCMAKE_INSTALL_PREFIX=/opt/maca/tools/ ../
make && make install
```
###### 方法2:下载后解压安装
```shell
wget https://gitee.com/p4ul/cu-bridge/repository/archive/2.0.1.zip
unzip cu-bridge-2.0.1.zip
mv cu-bridge-2.0.1 cu-bridge
sudo chmod 755 cu-bridge -Rf
cd cu-bridge
mkdir build && cd ./build
cmake -DCMAKE_INSTALL_PREFIX=/opt/maca/tools/ ../
make && make install
```
##### Step 3:配置**cuBridge**编译环境
```shell
export CUCC_PATH=/path/to/where/installed/cu-brdige
export PATH=$PATH:${CUCC_PATH}/tools:${CUCC_PATH}/bin
```
#### 使用**cuBridge**
以下是**cuBridge**使用指南,有问题或建议请私信[p4ul](https://gitee.com/p4ul)。
##### Step 1:用CUDA语言编译一个GPU程序
用户可以自己用CUDA语言编写一个GPU程序。
为方便起见,**cuBridge**使用指南以[cuda-samples](https://github.com/NVIDIA/cuda-samples)里的一个[vectorAdd](https://github.com/NVIDIA/cuda-samples/tree/master/Samples/0_Introduction/vectorAdd)程序为例。
1. 将CUDA_PATH环境变量设置为CUDA工具包安装位置
```shell
export CUDA_PATH=/path/to/where/installed/cuda
```
2. 将当前目录更改为vectorAdd源代码项目目录,ls查看该目录下文件,然后运行make:
```shell
cd vectorAdd
ls
make
```
3. 再次ls查看该目录下是否新增了vectorAdd可执行程序文件,如果make成功,可以在安装了英伟达GPU的机器上启动该vectorAdd程序:
```shell
ls
./vectorAdd
```
##### Step 2: 编译和生成MXMACA程序
###### Step 2.1: 确认MXMACA编程环境工作正常
参考[MXMACA快速上手指南](https://www.metax-tech.com/platform.html?cid=4)安装MXMACA编程环境后,执行以下步骤检查结果。
1. 检查MXMACA编译器是否正确安装:
```shell
which mxcc
```
正确安装的结果可能是:
```shell
/opt/maca/bin/mxcc
```
2. 检查MXMACA运行环境是否正常:
```shell
macainfo
```
如果macainfo不能正常执行,可能是MXMACA编程环境尚未正确配置,需要正确配置相关的环境变量,例如
```shell
export MACA_PATH=/opt/maca
export PATH=$PATH:${MACA_PATH}/mxgpu_llvm/bin: ${MACA_PATH}/bin
export LD_LIBRARY_PATH=${MACA_PATH}/lib:${LD_LIBRARY_PATH}
```
然后再重新启动macainfo,看看是否能正常执行。
###### Step 2.2: 将CUDA_PATH环境变量设置为**CUDA Toolkit**安装位置
```shell
export CUDA_PATH=/path/to/where/installed/cuda
export PATH=$PATH:${CUDA_PATH}/bin
```
###### Step 2.3: 将CUCC_PATH环境变量设置为**cuBridge**安装位置
```shell
export CUCC_PATH=/path/to/where/installed/cu-brdige
export PATH=$PATH:${CUCC_PATH}/tools:${CUCC_PATH}/bin
```
###### Step 2.4: 使用**cuBridge**编译CUDA源代码项目
**方法1:CUDA源代码项目使用CMake构建**
[cuda-samples](https://github.com/NVIDIA/cuda-samples)里的[vectorAdd](https://github.com/NVIDIA/cuda-samples/tree/master/Samples/0_Introduction/vectorAdd)源代码项目是使用Makefile构建的,下载后可以直接使用以下方式生成MXMACA程序。
1. 将当前目录更改为vectorAdd源代码项目目录,ls查看该目录下文件,然后运行 make_maca:
```shell
cd vectorAdd
ls
make_maca
```
2. 再次ls查看该目录下是否新增了vectorAdd可执行程序文件,如果make成功,可以在安装了沐曦GPU的机器上启动该vectorAdd程序:
```shell
ls
./vectorAdd
```
**方法2:CUDA源代码项目使用CMake构建**
[cuda-samples](https://github.com/NVIDIA/cuda-samples)里的[vectorAdd](https://github.com/NVIDIA/cuda-samples/tree/master/Samples/0_Introduction/vectorAdd)源代码项目是使用Makefile构建的。
下载后我们可以先改造成CMake构建,再进行实验和测试。
1. 创建CMakeLists.txt,用于构建和生成Makefile
```shell
cmake_minimum_required(VERSION 3.17)
set(CMAKE_VERBOSE_MAKEFILE on)
#set(CMAKE_CXX_SYSROOT_FLAG_CODE "list(APPEND CMAKE_CXX_SOURCE_FILE_EXTENSIONS cu)")
set_source_files_properties(vectorAdd.cu PROPERTIES LANGUAGE CXX)
project(vectorAdd CXX)
set(CMAKE_CXX_COMPILER "$ENV{CUDA_PATH}/bin/nvcc")
set(CMAKE_C_COMPILER "$ENV{CUDA_PATH}/bin/nvcc")
#include_directories(../../common/inc)
add_executable(vectorAdd vectorAdd.cu)
```
2. 前面Step2.2已经将CUDA_PATH环境变量设置为**CUDA Toolkit**安装位置,将当前目录更改为vectorAdd源代码项目目录,通过cmake_maca生成Makefile
```shell
cd vectorAdd
mkdir build
cd build
cmake_maca ..
```
使用cmake_maca命令需要编译机器上正确**安装CUDA工具包**( 安装方法详见[NVIDIA CUDA Installation Guide for Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html))
如果编译机器上没有安装CUDA工具包,也可以尝试用cmake命令替代上面的cmake_maca命令
3. ls查看vectorAdd目录下文件,然后运行make_maca:
```shell
make_maca
```
4. 再次ls查看该目录下是否新增了vectorAdd可执行程序文件,如果make成功,可以在安装了沐曦GPU的机器上启动该vectorAdd程序:
```shell
ls
./vectorAdd
```
**方法3:使用cucc直接编译CUDA源代码**
1. **cuBridge**提供的cucc命令也可以用于直接编译CUDA源代码,例如:
```shell
cd vectorAdd
cucc -x maca vectorAdd.cu -o vectorAdd
```
2. ls查看该目录下是否新增了vectorAdd可执行程序文件,如果make成功,可以在安装了沐曦GPU的机器上启动该vectorAdd程序:
```shell
ls
./vectorAdd
```
### 更多内容
根据项目进展情况,使用指南会不定期进行更新和维护,请持续关注
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
cuBridge 尝试成为GPU程序员使用一种编程语言进行开发、并且可运行在多种GPU硬件平台的解决方案 (1293个子文件)
__access_property 11KB
__annotated_ptr 5KB
__bit_reference 52KB
__config 70KB
__config 6KB
__config 3KB
__debug 8KB
__errc 9KB
__functional_03 44KB
__functional_base 18KB
__functional_base 676B
__functional_base_03 7KB
__hash 3KB
__hash_table 103KB
__libcpp_version 6B
__locale 49KB
__memory 3KB
__mutex_base 17KB
__node_handle 6KB
__nullptr 2KB
__pragma_pop 533B
__pragma_pop 453B
__pragma_push 745B
__pragma_push 495B
__preprocessor 5KB
__split_buffer 22KB
__sso_allocator 3KB
__std_stream 10KB
__string 31KB
__target_macros 17KB
__threading_support 22KB
__threading_support 706B
__tree 103KB
__tuple 21KB
__undef_macros 1KB
algorithm 203KB
algorithm 1KB
annotated_ptr 12KB
any 19KB
array 18KB
array 882B
atomic 98KB
atomic 11KB
atomic 435B
barrier 18KB
barrier 12KB
barrier 436B
bit 27KB
bit 660B
bitset 34KB
cassert 705B
cassert 568B
ccomplex 656B
ccomplex 461B
cctype 2KB
cerrno 685B
cfenv 2KB
cfloat 1KB
cfloat 705B
charconv 18KB
chrono 127KB
chrono 2KB
cinttypes 3KB
ciso646 615B
climits 4KB
climits 1KB
clocale 1KB
FindCUDA.cmake 34KB
FindPackageHandleStandardArgs.cmake 22KB
select_compute_arch.cmake 10KB
run_nvcc.cmake 9KB
CMakeDetermineCUDACompiler.cmake 9KB
CMakeCUDAInformation.cmake 7KB
FindMACA.cmake 2KB
parse_cubin.cmake 2KB
FindPackageMessage.cmake 2KB
make2cmake.cmake 1KB
CMakeDetermineMACACompiler.cmake 577B
CMakeMACAInformation.cmake 271B
CMakeTestCUDACompiler.cmake 0B
CMakeTestMACACompiler.cmake 0B
cmake_maca 11KB
cmath 18KB
cmath 668B
codecvt 20KB
compare 27KB
complex 50KB
complex 654B
condition_variable 8KB
coroutine 10KB
cuda_driver_wrapper.cpp 168KB
cuda_runtime_wrapper.cpp 98KB
symbol_cu_driver.cpp 76KB
symbol_cu_runtime.cpp 56KB
nvtx_wrapper.cpp 8KB
nvrtc_wrapper.cpp 5KB
cuda_wrapper_internal_symbol.cpp 150B
csetjmp 837B
csignal 988B
cstdarg 1KB
共 1293 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6718
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功