Skip to content

superQCman/pytorch-gpgpusim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English

pytorch-gpgpusim 安装指引(矩阵相乘问题已解决,涉及矩阵相乘正向传播模块可以运行,由于反向传播需要矩阵和向量相乘,暂时还会报错)

已修改部分:

  1. 重新实现矩阵相乘
  2. 原本参数传递顺序有问题,修改成正确形式
    void THCudaBlas_Sgemm(THCState *state, char transa, char transb, int64_t n, int64_t m,int64_t k, float alpha, float *b, int64_t ldb, float *a, int64_t lda, float beta, float *c, int64_t ldc) {
  3. 重新实现batch矩阵相乘

存在问题部分(功能是向量和矩阵相乘):

THCublasCheck(cublasSgemv(handle, op, i_m, i_n, &alpha, a, i_lda, x, i_incx, &beta, y, i_incy));
修改方案: 1. 打印出传入参数,这个版本参数传递很可能是错的 2. 重新实现矩阵和向量相乘(使用cuda底层代码很可能报错,且问题难以找到) 3. 每次运行脚本以及重新编译时间开销较大,希望有能力的能共同解决

注意: 1721998440502 如果遇到类似这种错误,就是THCBlas.cu那块要重新改代码适配,有能力的可以根据我已经修改过的案例就行修改。主要要看THCTensorMathBlas.cu中调用THCBlass.cu中的函数传递参数一不一致,出问题大概率不一致,要修改参数的顺序,一般是两个矩阵传递顺序反了。然后要重新用cuda实现一下矩阵乘法,调用cublas接口大概率还会发生各种问题,并且没法看到内部情况。

安装步骤

  1. 安装cuda 10.1版本(推荐)和 cuDNN (最高版本v7.6.5
  2. 创建Anaconda虚拟环境(python 3.6或2.7)
cd pytorch-gpgpusim
conda create -n gpgpu-sim python=3.6 # 推荐使用3.6
conda activate gpgpu-sim
pip install pyyaml numpy
  1. 启动编译pytorch-gpgpusim
git -c submodule."third_party/nervanagpu".update=none submodule update --init # 加载子模块
source set_env.sh # 添加路径,这里最好检查一下路径存在且没问题,确保路径一致
python setup.py install
export PYTORCH_BIN=<pytorch directory>/torch/lib/libcaffe2_gpu.so # Anaconda 中libcaffe2_gpu.so的位置
  1. 安装torchvision
pip install torchvision==0.2.2 # 使用torchvision获取数据建议先提前下载下来再运行(版本较老直接运行可能找不到数据)
  1. 重新编译gpgpusim
git clone https://github.com/wangeddie67/Chiplet_Heterogeneous_newVersion.git # 如果已经安装过gpgpusim可跳过
cd Chiplet_Heterogeneous_newVersion
source setup_env.sh
cd gpgpu-sim
make -j4
  1. 验证
ldd $PYTORCH_BIN

若libcudart.so.10.1链接到gpgpu-sim中的libcudart.so.10.1,说明pytorch在执行cuda计算时会使用gpgu-sim。如果没有链接到gpgu-sim,重新执行第5步。

  1. 测试
cd ./benchmarks
make run-main
  1. 备注:

由于该pytorch版本较老,直接跑一些较复杂神经网络会触发各种问题(建议不要调用较新的库,极有可能不兼容)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •