餐饮网站建设可行性分析,百度电脑端网页版入口,wordpress文章页面模板下载,外贸网站建设 蚂蚁 深圳一、配置torch
1.Libtorch下载 该内容看了【Libtorch 一】libtorchwin10环境配置_vsixtorch-CSDN博客的博客#xff0c;作为笔记用。我自己搭建后可以正常运行。 下载地址为windows系统下各种LibTorch下载地址_libtorch 百度云-CSDN博客 下载解压后的目录为#xff1a; 2.vs…一、配置torch
1.Libtorch下载 该内容看了【Libtorch 一】libtorchwin10环境配置_vsixtorch-CSDN博客的博客作为笔记用。我自己搭建后可以正常运行。 下载地址为windows系统下各种LibTorch下载地址_libtorch 百度云-CSDN博客 下载解压后的目录为 2.vs 2022配置Torch
首先创建一个新的项目和一个新的cpp文件。
然后在界面选择release和X64如下图所示 在属性管理器中【添加新项目属性表】 打开项目属性在【附加包含目录】中添加
E:\Environmentc\libtorch\include
E:\Environmentc\libtorch\include\torch\csrc\api\include 在【附加库目录】中添加
E:\Environmentc\libtorch\lib 在【附加依赖项】中添加D:\libtorch-win-shared-with-deps-1.8.0cu111\libtorch\lib文件夹下所有的 *.lib文件。
asmjit.lib
c10.lib
c10d.lib
c10_cuda.lib
caffe2_detectron_ops_gpu.lib
caffe2_module_test_dynamic.lib
caffe2_nvrtc.lib
clog.lib
cpuinfo.lib
dnnl.lib
fbgemm.lib
fbjni.lib
gloo.lib
gloo_cuda.lib
libprotobuf-lite.lib
libprotobuf.lib
libprotoc.lib
mkldnn.lib
pthreadpool.lib
pytorch_jni.lib
torch.lib
torch_cpu.lib
torch_cuda.lib
XNNPACK.lib
完成上述配置后在计算机【环境变量–系统变量】中添加
E:\Environmentc\libtorch\lib
E:\Environmentc\libtorch\bin
此外libtorc加载GPU模型时还需在打开工程项目属性页配置CUDA命令行
/INCLUDE:?ignore_this_library_placeholderYAHXZ 此时完成所有配置。测试代码如下
#include torch/torch.h
//#include cuda.h
//#include cuda_runtime.h
//#include device_launch_parameters.h
#include iostreamint main() {torch::Tensor tensor torch::rand({ 2, 3 });if (torch::cuda::is_available()) {std::cout CUDA is available! Training on GPU std::endl;/*int devCount;cudaGetDeviceCount(devCount);std::cout devCount std::endl;*/auto tensor_cuda tensor.cuda();std::cout tensor_cuda std::endl;}else{std::cout CUDA is not available! Training on CPU std::endl;std::cout tensor std::endl;}std::cin.get();
}
若出现由于找不到c10.dll或其他libtorch/lib中的.dll动态库,无法继续执行代码的报错则作以下修改
在属性界面的 调试环境 里添加libtorch动态库的路径
PATHD:\Code_Lib\libtorch\lib;%PATH% 至此torch配置完成。
二、配置cuda 该内容看了Windows10VisualStudio2022CUDA11.7环境配置_vs配置cuda-CSDN博客的博客作为笔记用本人搭建后可以运行。
右键项目→属性→ 配置属性→ VC目录→ 包含目录添加以下目录
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include
→ 库目录添加以下目录
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib\x64 右键项目→ 属性→ 配置属性→ 链接器→ 常规→ 附加库目录添加以下目录
\$(CUDA_PATH_V11_7)\lib$(Platform)
查看环境变量改变CUDA_PATH_V11_7v11_7指的安装的cuda版本 右键项目→ 属性→ 配置属性→ 链接器→ 输入→ 附加依赖项添加以下库
cublas.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
cufft.lib
cufftw.lib
curand.lib
cusolver.lib
cusparse.lib
nppc.lib
nppial.lib
nppicc.lib
nppidei.lib
nppif.lib
nppig.lib
nppim.lib
nppist.lib
nppisu.lib
nppitc.lib
npps.lib
nvblas.lib
nvml.lib
nvrtc.lib
OpenCL.lib 测试程序如下
#include iostream
#include cuda_runtime.h
#include cublas_v2.hconst int N 3; // 矩阵大小int main() {// 初始化CUBLAS库cublasHandle_t handle;cublasCreate(handle);// 定义矩阵大小int lda N;int ldb N;int ldc N;// 分配内存并初始化矩阵float A[N * N] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };float B[N * N] { 9, 8, 7, 6, 5, 4, 3, 2, 1 };float C[N * N] { 0 };// 在GPU上分配内存并将矩阵传输到GPUfloat* d_A, * d_B, * d_C;cudaMalloc((void**)d_A, N * N * sizeof(float));cudaMalloc((void**)d_B, N * N * sizeof(float));cudaMalloc((void**)d_C, N * N * sizeof(float));cudaMemcpy(d_A, A, N * N * sizeof(float), cudaMemcpyHostToDevice);cudaMemcpy(d_B, B, N * N * sizeof(float), cudaMemcpyHostToDevice);// 执行矩阵相乘float alpha 1.0f;float beta 0.0f;cublasSgemm(handle, CUBLAS_OP_N, CUBLAS_OP_N, N, N, N, alpha, d_A, lda, d_B, ldb, beta, d_C, ldc);// 将结果从GPU传回CPUcudaMemcpy(C, d_C, N * N * sizeof(float), cudaMemcpyDeviceToHost);// 打印结果std::cout Matrix C: std::endl;for (int i 0; i N; i) {for (int j 0; j N; j) {std::cout C[i * N j] ;}std::cout std::endl;}// 清理内存cudaFree(d_A);cudaFree(d_B);cudaFree(d_C);// 销毁CUBLAS句柄cublasDestroy(handle);return 0;
}
至此cuda环境安装完成。