libkmcuda安装
编译安装
1,前期准备
git clone https://github.com/src-d/kmcuda
cd kmcuda/src/
例如:
cmake -DCMAKE_BUILD_TYPE=Release . && make
有几个参数需要注意一下:
-D DISABLE_PYTHON: 如果不想编译Python支持模块,将该项值为y,即增加-D DISABLE_PYTHON=y
-D DISABLE_R: 如果不想编译R支持模块,增加-D DISABLE_R=y
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0(修改为自己的路径):如果CUDA无法自动找到,则增加该项
-D CUDA_ARCH=52:指定当前机器的CUDA计算能力(GPU Compute Capability)
gcc:有文章提到,低版本的gcc编译器不支持,我当前版本是5.4,可满足需求
2,查询GPU算力
通过NVIDIA官网查询自己GPU服务器的GPU算力
例如:GeForce GTX 960M
https://developer.nvidia.com/cuda-gpus#compute

GeForce GTX 960M 5.0
CUDA_ARCH设置为50, -D CUDA_ARCH=50
- 配置GPU路径 (未做)
为了能够自动查找相关库的路径,将cuda的路径配置到配置文件中
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARAY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda:$CUDA_TOOLKIT_BOOT_DIR
export CUDA_INCLUDE_DIRS=/usr/local/cuda/include
激活生效
编译命令
cmake -DCMAKE_BUILD_TYPE=Release -D CUDA_ARCH=50 . && make

链接库导入
问题:执行需要导入该库的python文件时,需要在有该链接库存在的目录,可以设置python路径
Python环境变量PYTHONPATH设置
1.把自己编写的python模块添加到PYTHONPATH上
要想让python解释器找到自己编写的模块,则该模块必须PYTHONPATH上,否则在导入该模块时会出现找不到该模块的错误,因此必须把所需要的模块的路径添加到PYTHONPATH(一般情况下是把lib/python3.6/site-packages添加到PYTHONPATH)。具体做法如下:
a. 假设所需要的python模块(或包)位于/home/llx/software/program/python
b. 把/home/llx/software/program/python添加到PYTHONPATH,语法与shell里面的PATH一样:
export PYTHONPATH=$PYTHONPATH:/home/lxc/software/program/python
注意:当第一次导入getopt_exam时,getopt_exam.py就会被编译为字节码,此时该目录下就会出现一个名为getopt_exam.pyc的文件,因为.pyc格式比.py格式导出的速度更快,如果更新了getopt_exam.py则必须把它之前被编译的字节码getopt_exam.pyc删除,否则在使用这个模块的时候就不会看到更新的部分,因为它是从第一次生成的getopt_exam.pyc里面导出来;我们必要对新的getopt_exam.py脚本编译成.pyc文件或是直接把getopt_exam.pyc(第一次生成)删掉,python解释器会自动没有没有相应.pyc的.py文件生成相应的.pyc文件(基本规则:当导入一个模块时,python解释器先把.py文件编译成.pyc,然后在从*.pyc里面导出)。
2.在python脚本里面使用那些不再PYTHONPATH上的第三方包或是自己编写的模块
以使用/home/llx/software/program/python/getopt_exam.py为例。
$python
>>>import sys
>>>sys.path.append(“/home/lxc/software/program/python”)
>>>import getopt_exam
>>>getopt_exam.version()
version v1.0
导入模块不成功:
需要:
import sys
sys.path.append(“/home/lxc/software/program/python”)
import getopt_exam
先配置环境变量后,再导入包
https://blog.csdn.net/ling620/article/details/101374751
https://blog.csdn.net/fyh2003/article/details/6837624
libkmcuda安装的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Sublime Text3安装JsHint
介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- gentoo 安装
加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- 【原】nodejs全局安装和本地安装的区别
来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...
- tLinux 2.2下安装Mono 4.8
Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...
随机推荐
- 【Linux-驱动】将cdev加入到系统中去---cdev_add
在我们已经完成了对cdev结构体的初始化之后,我们需要将这个cdev结构体加入到系统中去,使用函数 cdev_add: /** * cdev_add() 讲一个字符设备加入到系统中去 * @p: 字符 ...
- POJ - 1815 Friendship (最小点割集)
(点击此处查看原题) 题目分析 题意:有n个人,编号记为1~n,n个人之间可能有人可以互相联系,如果A能和B联系,那么至少满足这两种情况之一:(1)A知道B的电话(2)A可以和C联系,并且C可以和B联 ...
- Python3学习笔记-更新中
1.Python概况 2.Anaconda安装及使用 3.Pycharm安装及使用 4.Hello World!!! 5.数据类型及类型转换 6.分支结构 7.循环语句 8.异常
- linux 三剑客之sed常用总结
sed 列出5-7行 [root@www ~]# nl /etc/passwd | sed -n '5,7p' -n不在处理前打印,搜索root,/p打印 nl /etc/passwd | sed ' ...
- 自动生成ID
public class IdUtil { /** * * @return 返回时间id,类似于20191217195622 */ public static String timeId(){ Dat ...
- 从入门到自闭之Python编码
ascii码: 支持英文,数字,符号 1字节 不支持中文 gbk(国标) 支持英文,数字,符号 1字节 支持中文 2字节 unicode(万国码): 支持英文,数字,符号 4字节 支持欧洲 4字节 支 ...
- 从入门到自闭之Python高阶函数
高阶函数:内部帮忙做了一个for循环 filter:筛选过滤 语法: filter(function,iterable) function: 1.指定过滤规则(函数的内存地址) 2.用来筛选的函数,在 ...
- python_0基础开始_day13
第十三节 一,匿名函数 匿名函数 == 一行函数 lambda == def == 关键字 函数体中存放的是代码 生成器体中存放的也是代码 就是yield导致函数和生成器的结果不统一 lambda x ...
- @Transactional spring事务回滚相关
还可以设置回滚点,看下面 /** * 用户登录接口 * * * 1明确事务方法前的命名规则 * 2保证事务方法执行的时间尽可能的短,不允许出现循环操作,不允许出现RPC等网络请求操作 * 3不允许所有 ...
- [Next] 三.next自定义服务器和路由
next 服务端渲染 实际上,next 一直都是执行的服务端渲染.npm start执行的是 next 自带的服务器来运行你的应用.next 是支持自定义服务器的,同时能够支持现有的路由和模式,你可以 ...