
c++
bo.qiu_xbw
Talking is cheap ,show me the code.
展开
-
c++函数后面const,函数引用何时使用?
c++函数后面const,函数引用何时使用?原创 2022-07-25 10:56:27 · 411 阅读 · 2 评论 -
(pybind)c++调用python/python调用c++
PYBIND11原创 2022-07-21 17:11:55 · 1128 阅读 · 0 评论 -
c++何时使用值传递、指针传递、引用传递
形参使用引用时最好加入const,防止实参类型没有对齐,const &可以生成临时变量,不会造成编译不通过。原创 2022-01-25 16:37:23 · 569 阅读 · 0 评论 -
C++中virtual(虚函数),动态联编,静态联编。
https://www.cnblogs.com/weiyouqing/p/7544988.htmlhttps://www.cnblogs.com/schips/p/12309999.html原创 2021-10-27 14:24:12 · 508 阅读 · 0 评论 -
BERT encoder-attention计算逻辑
encoder中最重要的莫过于attention的计算了,本章对照代码讲解一下计算逻辑,主要是python改成c++时候要注意一些shape,并且减少tanspose的使用,使用Intel mkl中的矩阵计算API,例如cblas,cblas_batch等等。1.qkv合并------>Dense(input * qkv_weight + qkv_bias)------->split分开分开后q=k=v shape为(batch_size, seq_len, number_of_head,原创 2021-09-29 13:55:40 · 681 阅读 · 0 评论 -
vscode使用gdb调试c++代码
在工程项目中有一个名字为.vscode的文件夹,文件夹内部有一个launch.json的文件。{ "envFile": "${workspaceFolder}/.env", "name": "g++ - debug custom xxx(.cpp后缀不用写)", "type": "cppdbg", "request": "launch", "program": "${workspaceF原创 2021-09-28 15:19:04 · 854 阅读 · 0 评论 -
c++ 多线程加速OPM库的使用
c++中往往需要使用for循环,嵌套for循环得速度就更加慢了。需要使用Openmp多线程进行加速。https://blog.youkuaiyun.com/weixin_39568744/article/details/88576576这个博客讲的非常仔细,本文主要是记录一下工作上的一些使用1.告诉编辑器下面使用for循环#pragma omp parallel for2.在OpenMP 3.0中,可以利用collapse指令来解决循环嵌套问题,#pragma omp parallel for co原创 2021-09-17 17:28:59 · 1299 阅读 · 0 评论 -
STL的vector底层原理(通俗易懂)
首先创造一个容器vector <int > a;,会生成三个指针,first,last,end。(last是不断移动的),初始化一个空的容器,三个指针均为空,因此capacity(end-first)和size(last-first)都为0。(size是当前vector容器真实占用的大小,也就是容器当前拥有多少个元素。capacity是指预分配的内存空间。)capacity==size,容器此时已满,若再要加入新的元素时,就要重新进行内存分配,进行内存扩充。vector 容器扩容的过程需要原创 2020-09-07 20:45:45 · 1198 阅读 · 0 评论