周记 2020.02.24-03.01
1.C++互斥锁
1 |
|
2.解决VapourSynth版本问题?
1 |
|
(来自KNLmeansCL?)
3.OpenCL
看了《OpenCL异构计算》的两个例子,借助OpenCL加速图像直方图处理和卷积计算。
4.OpenCL设计思路的理解
我能理解到的几点…
- OpenCL中存在主机与设备共享内存?(定义了通用的内存模型,以实现跨平台)
- 类似cuda,OpenCL的计算模式大概也是“先传输数据到设备,计算后再传回主机”?(OpenCL通过上下文(Context)在主机与设备间通信)
- OpenCL主要使用 SIMD(数据并行)和 MIMD(任务并行)
- CPU 线程 = OpenCL 工作项(Work Item)
5.OpenCL与C++
在C++中使用OpenCL,可以直接调用OpenCL库,也可以借助Boost库的compute库调用。
可以不写的.cl
文件的说。
6.C++ STL库
C++标准模板库,(抛开string
)可以分为两条线路,容器与方法。元素的插入、删除和访问方法不同,构成了不同容器的差别,而方法可以理解成一个函数,或者说一种操作。
例如容器vector
、queue
,方法at
、emplace
。
感觉现在,我已经把21天学通C++这本书从总体上做了概览。
7.Mkdocs:写自己的图书
去搜算法导论的课后题,偶然发现了Mkdocs,感觉比gitbooks自由度更高。也知道了原来github pages不仅可以用来搭博客,还可以做一般项目的展示页。github展示页配合Mkdocs就可以实现自己的图书。
8.交流
在D9上帖出了AreaResize,通过交流我才意识到,之前我修改的JincResize,以及其他常用的Resize方法,都可以视为卷积操作(所以这也带来了OpenCL加速或指令集优化的可能)。