CUDA并行程序设计 开发环境搭建与远程调试

课题需要用到GPU加速。目前使用的台式电脑只有核心显卡,而实验室有一台服务器装有NVIDIA GTX980独显。因此,想搭建一个CUDA的开发环境,来实现在台式机上面开发cuda程序,程序在服务器而不必每次都跑去服务器上面。

目前找到的远程调试方案有三个:

  1. Windows平台下,通过Nsight Monitor连接 带有NVIDIA显卡的Windows笔记本电脑。
  2. Linux平台下,通过Nsight Eclipse Edition 连接Linux服务器
  3. 通过Xshell连接到服务器(操作系统为CentOS 7),用Xmanager启动Nsight Eclipse Edition图形界面。由于开发时可能会改动服务器环境参数和配置导致其他程序出错,并且我没有服务器root权限,因此尽量不在服务器上进行开发。

一、Windows平台 Nsight Monitor方案

客户端:台式机,core I3-6100,核心显卡,4G内存, SSD,Windows 7 64bit sp1

服务器端:笔记本电脑,core I5-450m,GT310m, 4G内存, SSD, Windows 7 64bit sp1

  1. 安装Visual studio 2012

    服务器最好也要安装。不安装Nsight VS Edition好像安装不上(未证实)

  2. 安装显卡驱动

    我的客户端因无NVIDIA显卡,因此只在服务器端安装驱动。

  3. 在客户端与服务器安装cuda toolkit (Win 64bit)

    进入NVIDIA开发者网站https://developer.nvidia.com/cuda-toolkit下载相应的CUDA Toolkit。注意客户端与服务器版本最好相同。NVIDIA网站最近因“网站尚未备案”无法访问,可将http改为https。我下载安装版本为cuda toolkit 8.0 对应 Nsight Monitor 5.4、Nsight Visual Studio Edition 5.4。

  4. 参考CUDA远程调试

    设置客户端与服务器的Nsight Monitor,在客户端添加Trusted Machines ip地址;关闭防火墙;建立CUDA工程,修改Nsight User Properties,然后编译调试

遇到的坑有三个:

二、Linux平台 Nsight Eclipse Edition方案

客户端:虚拟机,核心显卡, Ubuntu 16.04.4 LTS

服务器端:GTX980, CentOS 7

  1. 安装虚拟机与linux

    台式机装的是Windows系统,因此要在虚拟机上安装Linux系统。

    我从清华大学开源镜像站下载VirtualBox与Ubuntu 16.04.4 LTS 镜像安装文件

    .高校与教育网用户还可以访问

    浙大开源镜像站http://mirrors.zju.edu.cn/.

    其他国内用户可访问

    阿里云开源镜像站https://opsx.alibaba.com/mirror

    网易开源镜像站http://mirrors.163.com/

    virtualbox 安装 ubuntu系统参考 基于VirtualBox虚拟机安装Ubuntu图文教程

  2. Linux系统下安装NVIDIA 显卡驱动与CUDA toolkit

    参考我之前的博客http://www.cnblogs.com/kaikaikai/p/8343816.html。 在NVIDIA开发者网站https://developer.nvidia.com/cuda-toolkit下载对应版本的CUDA toolkit Linux run文件并执行,按照安装脚本配置路径即可。最好显卡驱动和CUDA分开安装

    注意客户端上由于没有NVIDIA的显卡,不需要(也无法)安装NVIDIA显卡驱动。要想简化配置,客户端的CUDA版本最好与服务器相同,toolkit安装位置及Samples的安装位置最好也相同。如不同需在Nsight中添加路径。我安装版本为cuda 7.0

  3. 客户端上重装gcc与g++,使其版本号与服务器相同

    参考Ubuntu如何重新安装g++编译器。通过gcc -v可查看gcc版本。若安装完成后找不到gcc(g++),在/usr/bin/中添加链接

    ln -s gcc-* gcc

    ln -s g++-* g++

    其中gcc-*为所安装gcc版本,如我安装的为gcc 4.8,g++ 4.8

  4. 在服务器防火墙添加2345端口,或关闭防火墙
  5. 参考NSight Eclipse Edition 下创建CUDA程序并执行远程编译及调试 建立CUDA工程,然后编译调试。

Note

  • NSIGHT ECLIPSE EDITION Getting Started Guide中列出了三种开发模式:(1)、本机编辑生成调试 (2)、本机编辑生成、远程调试 (3)、本机编辑代码、远程生成调试。

    若采用模式(3)需添加远程机(服务器)的相关路径,否则会报错,如:

    error: helper_functions.h: No such file or directory

    如果第2步中客户端服务器安装位置相同,通常不需要额外添加路径

  • 采用模式(3)时,若编译生成时出现报错

    需将客户端与服务器的user.name 设置为同一个名字,user.email为同一个地址。

    git config --global user.name <anyname>

    git config --global user.email <anyemail>

  • 远程Debug连接超时,需打开服务器2345端口

原文地址:https://www.cnblogs.com/kaikaikai/p/9057031.html

时间: 2024-07-31 05:40:40

CUDA并行程序设计 开发环境搭建与远程调试的相关文章

spark JAVA 开发环境搭建及远程调试

spark JAVA 开发环境搭建及远程调试 以后要在项目中使用Spark 用户昵称文本做一下聚类分析,找出一些违规的昵称信息.以前折腾过Hadoop,于是看了下Spark官网的文档以及 github 上 官方提供的examples,看完了之后决定动手跑一个文本聚类的demo,于是有了下文. 1. 环境介绍 本地开发环境是:IDEA2018.JDK8.windows 10.远程服务器 Ubuntu 16.04.3 LTS上安装了spark-2.3.1-bin-hadoop2.7 看spark官网

arm-linux-gdb+gdbserver环境搭建以及远程调试

0) gdb源码下载:http://ftp.gnu.org/gnu/gdb/ 1) 编译arm-linux-gdb 指定交叉编译工具链的位置 export PATH=$PATH:/usr/local/arm/3.4.1/bin    开始配置和编译 $cd gdb-6.6    $./configure --target=arm-linux --prefix=/usr/local/arm/gdb -v   $make    中间会出现一些地方编译过去,如 gdb declared with at

ubuntu下进行android的开发(一):远程开发环境搭建

ubuntu系统的安装不再记录,已经有了太多的介绍.下面主要记录一些安装后环境的搭建以及一些问题的解决办法. 1.git工具的安装 因为要使用git工具来管理源码,所以安装系统后首先要安装git工具.打开终端执行下面的命令即可. sudo apt-get install qgit 2.使用ssh远程登录服务器进行开发 登录指令:ssh [-x] [email protected]_address(eg:192.18.0.12)   -------这里-X表示支持图形界面,gedit打开和另存都在

Storm使用入门之本地开发环境搭建

本篇博文详细告诉你如何安装Storm的本地开发环境,总体分为两步,具体如下: 1.从官网上下载Storm的发布包,下载完成后将其解压,并将解压后的bin目录添加到环境变量(PATH)中,以方便后续执行Storm的相关命令 2.修改Storm的配置文件(storm.yaml),主要是按照实际情况更新配置文件中的集群信息,然后将修改后的配置文件添加到目录(~/.storm/)中,目的是为了后续能够远程启动和停止集群上的计算任务(即topology) 接下来,咱们来详细地介绍每一个操作步骤. 首先,何

PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建

本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法. 这个系列的博客将首先用一个篇幅为不懂Windows 下PCI/PCIe驱动开发的介绍WDF和开发环境搭建,接下来几篇将直接讲述程序编写, 看完这几篇后,希望能够帮助读者了解如何通过500行左右的代码实现一个标准的PCIe接口卡驱动程序. 毕设题目的PCIe板卡是BAR0下映射两个5K的内存,偏移地址为0x20000和0x22000,源代码在: https://github.com/luluji

Android笔记1——开发前奏1开发环境搭建和开发工具使用介绍

转载请注明http://www.cnblogs.com/devtrees/p/4382234.html 欢迎指正错误,共同进步! 一背景知识 1.1G-4G的介绍 Generation(一代) WAP(wait and pay) Wireless Markup Language(WML)精简版的html语言 二.Android概述 1.Android操作系统介绍 2.Android历史介绍 3.Android系统架构(重点) 第一层:应用层Application 第二层:应用框架层Applica

《结对-结对编项目作业名称-开发环境搭建过程》

<结对-结对编项目作业名称-开发环境搭建过程>要求:选择适合的开发工具,搭建开发环境及环境搭建过程. 1.开发工具:Python Python,是一种面向对象.直译式计算机编程语言,具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内

PyCUDA的Windows开发环境搭建

PyCUDA的开发环境搭建 PyCUDA需要python的Boost库和Numpy库(1.0.4以上),和CUDA开发环境(2.0以上). Windows64环境下所需要的包可以到以下网址直接下载, http://www.lfd.uci.edu/~gohlke/pythonlibs/#boost.python. 另外PyCUDA还需要pytools库,而pytools库又需要six,appdirs,decorator这三个库,这三个库都可以通过easy_install工具直接安装,安装完这三个库

django开发环境搭建(参考流程)

django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开发环境中,应该采用什么的样的工具来开发django呢? 我想环境至少应该具备的特性有: 多版本python环境的支持 版本控制 自动测试框架 数据库支持迁移 部署的自动化 参考文档 主要参考的文档-英文 virtualenv介绍 VirtualEnv 和Pip 构建Python的虚拟工作环境 使用V