cmake

从零开始手敲次世代游戏引擎(七十九)

北城余情 提交于 2020-05-07 16:15:49
一晃又一年过去了。。。 即便这样,如我在系列开头所说,这个系列我是不会放弃的,虽然可能会很慢,但是我会努力继续下去。 因此,今天更新一篇。 其实在这一年当中我对图形部分在不断进行重构。其中一个重点就是对应DX12/Vulkan/Metal的PSO(Pipeline State Object)概念。虽然3个图形API的PSO概念在实现细节方面并不是完全一致,但是大致的概念是共通的:将GPU的管道状态,包括 渲染管道入口处的,附属在vertex(顶点)处的属性layout; 渲染管道出口处的RT/DT的格式 固定功能(Fix Function)的设置,如 深度测试是否有效,深度测试的比较函数(>, >=, ==, <, <=, always true, always false) Stencil测试是否有效,相关测试 Shader的绑定 这些主要的概念。 其实,这基本上就对应现代GPGPU当中的Context,也就是上下文的概念。在以往,特别是诸如OpenGL这样的图形API当中,这些状态设置是混杂在绘图命令当中的,并没有单独分开进行存储。这就导致在需要改变渲染管道状态的时候,需要一系列的命令来对状态进行设置,并且: 要么每次把所有状态都重新设置一遍 要么需要在引擎当中自己跟踪状态的变化,计算出需要改变哪些设置 而DX12/Vulkan/Metal提供了PSO对象

opencv3.1+cmake3.7.2+cuda9.1+vs2015+opencv-contrib+win10x64

只谈情不闲聊 提交于 2020-05-07 11:16:32
下载cuda https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal 下载opencv3.1和opencv-contrib3.1 vs2015要选择c++环境 启动这个命令窗口,从这里启动cmake cuda安装的时候参考 https://blog.csdn.net/u014613745/article/details/78310916 测试cuda正常 cmake编译时确保选择cuda和opencv-contrib,然后 否则我的电脑会提示 nvcc fatal : Unsupported gpu architecture 'compute_20' 取消勾选 BUILD_PERF_TESTS这一项 LNK1104 无法打开文件“..\..\lib\Debug\opencv_bioinspired310d.lib” opencv_perf_bioinspired https://blog.csdn.net/fu_shuwu/article/details/72793856 一些参考: https://blog.csdn.net/liujiabin076/article/details/68926699

Set installation prefix automatically to custom path if not explicitly specified on the command line

主宰稳场 提交于 2020-05-07 10:58:50
问题 For some internal tests, I would like the install prefix to default to a subdirectory of the build directory, unless explicitly overridden by the user. I know the user can specify a install prefix by: $ cmake -DCMAKE_INSTALL_PREFIX=/foo/bar .. But if the user does not specify this, it should default to, e.g. ${PWD}/installed . The variable CMAKE_INSTALL_PREFIX is already set to /usr/local , so I cannot just check to see if it unset/empty before setting it. My current solution is to add a

LibTorch_物体检测_RCNN

≡放荡痞女 提交于 2020-05-06 12:31:33
上次实现的物体检测,借助了detectron2。 现在要移植到c++上,detectron2里面的模型大概是不能用了。 安装libtorch,浏览器下载很慢,换成wget就很快了,这里操作了一下给终端设置代理,但是实际用的时候好像没有代理也很快,不知道。 libtorch = 1.5 例子hello_libtorch,https://pytorch.org/cppdocs/installing.html (输出一个tensor,可以用来验证库啥的有没有问题) (好的,突然jupyter 突然打不开了。昨晚还好好的,不知道是不是我设置终端代理的原因。把代理proxychains删了果然就好了。尴尬 第二个例子,参考https://github.com/apachecn/pytorch-doc-zh/blob/master/docs/1.0/cpp_export.md,实现一下。 Tracing方法看起来还算好懂的。另一种方法适用model里面有各种基于输入判断的。 例子里面的代码还是比较落后的,有博客整理了一些坑,1.0到1.5变化不小,这里建议大家去pytorch官网找例子运行。 上面的两个例子,都是加载resnet18的,下面加载rcnn系列的,真的坑,真的坑。 OK, 切换到物体检测模型,https://pytorch.org/docs/master/torchvision

linux安装mydumper软件包以及报错解决

时光总嘲笑我的痴心妄想 提交于 2020-05-06 07:16:11
今天使用mydumper命令从AWS上的RDS集群MYSQL数据库导出数据,发现Tidb官方提供的工具不太适合,所以就自己编译了一个来尝试一下,居然成功了。 首先我的系统是Centos7,并且已经安装过gcc等编译器。 1、需要安装依赖包: yum install -y glib2-devel* mysql-devel* zlib-devel* pcre-devel* openssl-devel* 2、下载安装包: wget https://launchpadlibrarian.net/185032423/mydumper-0.6.2.tar.gz 其他版本的安装包也可以去官网下载:只是我这里使用0.6版本编译成功了。官网连接:https://launchpad.net/mydumper 点击这一块找到0.6版本: 3、 开始cmake编译 [root@test mydumper- 0.6 . 2 ]# ls binlog.c cmake common.h docs g_unix_signal.h mydumper.h myloader.h server_detect.c binlog.h CMakeLists.txt config.h. in g_unix_signal.c mydumper.c myloader.c README server_detect.h [root

基于pybind11实现Python调用c++编写的CV算法--下 (Linux+Cmake)

…衆ロ難τιáo~ 提交于 2020-05-05 13:16:14
C++ 是一种编译型(compiled)语言,设计重点是性能、效率和使用灵活性,偏向于系统编程、嵌入式、资源受限的软件和系统。 Python是一种解释型(interpreted)语言,同样也支持不同的编程范式。Python 内置了常用数据结构(str, tuple, list, dict),简洁的语法、丰富的内置库(os,sys,urllib,...)和三方库(numpy, tf, torch ...),功能强大。最为重要的是和能够和多种服务(flask…)和tensorflow、pytorch等无缝联合,从而方便将你的算法开放出去。 一方面,我们需要编译型语言(C++)性能;一方面,也需要解释型语言(Python)的灵活。这时,pybind11 可以用作 C++ 和 Python 之间沟通的桥梁。 Pybind11 是一个轻量级只包含头文件的库,用于 Python 和 C++ 之间接口转换,可以为现有的 C++ 代码创建 Python 接口绑定。Pybind11 通过 C++ 编译时的自省来推断类型信息,来最大程度地减少传统拓展 Python 模块时繁杂的样板代码, 已经实现了 STL 数据结构、智能指针、类、函数重载、实例方法等到Python的转换,其中函数可以接收和返回自定义数据类型的值、指针或引用。 由于在Windows上和在Linux上使用会有较大不同

Windows编译OpenBLAS

Deadly 提交于 2020-05-04 09:39:42
在尝试用 LazyNet 时,由于原作者提供的OpenCV和OpenBLAS版本和我的环境不一样,考虑自行配置依赖。 OpenCV源码编译的文章很多,这里主要说一下OpenBLAS的编译。 cblas_sgemm crash 基于VS2017的MSVC编译器,编译安装openblas develop分支最新版,发现 LazyNet 代码有crash(access violation),而在Linux(ubuntu16.04,G++/Clang++-8)则运行正常。剥离出来的复现问题的最小化代码见下方,解决办法是 用clang-cl(Windows下和MSVC兼容的clang编译器)重新编译OpenBLAS , 讨论帖在此 。 #include <stdio.h> extern "C" { #include <cblas.h> } int main() { printf("OpenBLAS config info:\n%s\n", openblas_get_config()); #if 1 // will cause crash on VS2017 x64 with OpenBLAS latest const int M = 16; const int N = 676; const int K = 27; #else // won't crash const int M = 4;

ubuntu16.04 + cuda9.1 + cudnn7.1 + OpenCV3.4 + caffe(GPU)

回眸只為那壹抹淺笑 提交于 2020-05-04 02:46:57
//系统平台:Ubuntu16.04.4 LTS //默认安装cuda9.1+cudnn7.1+opencv3.4+caffe(GPU) //同时测试基本兼容了cuda8.0+cudnn6.0+opencv3.2+caffe(GPU)安装 //如果还需安装TensorFlow,建议选择cuda9.0+cudnn7.0+opencv3.4+新版本TensorFlow //如需老版本TensorFlow,建议选择cuda8.0+cudnn6.0+opencv3.2(or opencv2)+老版本TensorFlow // 参考博客: // https://blog.csdn.net/jonms/article/details/79318566   这篇主要讲cuda,cudnn的安装和测试 // https://blog.csdn.net/u014696921/article/details/53143176    这篇讲整个caffe的部署 // https://blog.csdn.net/tsb831211/article/details/78432206   这篇是童师兄写的教程,里面有详细的常用配置 // https://blog.csdn.net/u014696921/article/details/53138327    这篇主要讲caffe-ssd的部署 // https

ubuntu16.04 安装opencv3.4.0

二次信任 提交于 2020-05-04 02:11:50
参考 https://www.cnblogs.com/arkenstone/p/6490017.html https://blog.csdn.net/u013180339/article/details/77507936 这里的安装没有用pip或是conda安装,通过pip或者conda安装的opencv只是封装了opencv的Python API,一般情况下也够用。 但是如果准备安装完整版本的opencv,这里比较建议将opencv-python卸载,以免之后产生一些不必要的报错。 1.配置环境 $ sudo apt- get install build- essential $ sudo apt - get install cmake git libgtk2. 0 -dev pkg-config libavcodec-dev libavformat-dev libswscale- dev $ sudo apt - get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394- 22 - dev # 处理图像所需的包 $ sudo apt - get install libavcodec-dev

源码安装支持ffmpeg的opencv2

♀尐吖头ヾ 提交于 2020-05-04 02:09:41
1.首先安装ffmpeg   apt-get install ffmpeg 2.安装opencv对ffmeg的依赖  # for Compiling OpenCV with ffmpeg support   apt-get install build-essential   apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev   apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev  From <https://docs.opencv.org/3.4.2/d7/d9f/tutorial_linux_install.html> 3.下载opencv源码并编译  >> cd ~/<my_working_directory> >> git clone https://github.com/opencv/opencv.git >> cd opencv >> git checkout 3.1.0 >> cd .. >> git clone https:/