摘要:
使用的是 tmux 来实现在WIN10的内置Ubuntu实现多终端窗口 1. 先安装tmux: 2. 启动 tmux , 然后就可以在 tmux 中实现多窗口。其操作有: 对当前窗口划分一个水平子窗口:先按ctrl + b, 然后按 " ,因为 " 是在 ' 按键的上方,所以需要 shift+' 对 阅读全文
摘要:
本文总结在Android Native C++开发中访问APK中的 assets 资源的方法 在CMake中添加相关NDK LIB的 依赖 因为我们接下来用到的一些函数实现在NDK库libandroid.so中,因此我们直接在 CMakeList.txt 中添加对其依赖即可: 如果没有添加此依赖,显 阅读全文
摘要:
buffer,sub buffer和image对比 相同点 :都是OCL memory对象 | |维度|特性关键词| | | | | |buffer|一维|array of bytes| |sub buffer|一维|views into buffer | |image|二维或者三维|读写操作、可选 阅读全文
摘要:
在AndroidStudio上使用AddressSanitizer AddressSanitizer是Google主导的一个开源内存问题检测工具。现在也开始支持Android平台,且受Google推荐来替代之前的Valgrind。目前AddressSanitizer能够发现如下问题: Out of 阅读全文
摘要:
在Ubuntu 16中编译开启NEON优化的Opencv时,遇到 libpng 编译是使用汇编代码的错误,完整错误见文章末尾。通过查询发现解决方案是安装跨平台编译器,安装代码如下: sudo apt get install gcc arm linux gnueabi sudo apt get ins 阅读全文
摘要:
使用图像对象的理由 虽然对于图像也可以把它的像素数据当做一般的缓存数据来处理,但是如果把它当做图像来处理有如下好处: 1. 在GPU中,图像数据是保存在特殊的全局内存中,即 纹理内存 ,它和一般的全局内存不相同,它是被缓存的,用于高速访问处理。GPU中有专门 支持图像读写的硬件,使用内置读写函数可以 阅读全文
摘要:
对C、C++的内存泄露、内存溢出等检查,经过这两天的查资料,总体来说可以使用 "Valgrind" , "AddressSanitizer" , "Dr.Memory" 等。其中Valgrind对程序运行速度影响较大,运行耗时10倍以上,如果是对Android Native代码进行检查,比较推荐对代 阅读全文
摘要:
基数排序是比较适合并行化的排序算法之一,因为它不需要他的元素和数组当中的其他元素去进行一一对比来决定放的位置。另外还有比较适合并行化的就是双调排序。 基数排序原理 以从小到大,一次排序只考虑一位为例。基数排序一般从数据的最低有效位(LSB)开始进行排序,即考察所有的数据的当前位,其当前位为0的数据放 阅读全文
摘要:
有两种方式实现从主机到CL设备的数据传递, 第一种: 第二种: 这两种写法可以说是没啥区别,但是如过第二中写法中 CL_MEM_COPY_HOST_PTR 换成 CL_MEM_USE_HOST_PTR ,那么根据文档的说法,第二种并不会把主机的 inputdata 复制到设备,而仅仅是 cache 阅读全文