自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (8)
  • 收藏
  • 关注

原创 循环卷积与线性卷积

循环卷积针对的是两个长度都为N的序列,对两个序列做FFT,然后再做IFFT得到的结果就是循环卷积,结果的长度也是N。直接计算步骤:序列A与序列B,长度都是N,新的序列C1、把B倒过来。[翻转]2、把B向右平移一个元素。最右侧的元素补到左边。3、计算此时A和B对应元素的积的和。将其加到C的末尾。4、如果C中还不足N个元素,重复步骤2和3。线性卷积针对的是两个...

2020-01-09 20:33:37 14105 1

原创 TensorCore使用

目前有两个库使用了TensorCore技术:cuBLAS与cuDNN。cuBLAS主要加速了GEMM计算,cuDNN里主要用来加速卷积和RNN而如何cuBLAS与cuDNN无法满足需求,也可以直接调用Tensor Cores进行编程。Tensor Cores的调用API在nvcuda::wmma命名空间里。通过调用API进行数值初始化,进行矩阵乘加(MMA)操作然后再把数值存回内存。c...

2019-12-31 13:20:25 4691

原创 离散卷积及计算

离散卷积的定义:将两个离散序列中的数,按照规则,两两相乘再相加的操作。卷积运算: 的长度是 , 的长度是 , 的长度是 计算卷积的过程:序列翻转,移位,相乘,取和计算举例:其中k等于a的长度。翻转移位相乘的操作如下:代码实现:Matlab代码:a=[1,2,3];b=[2,3,1];y=conv(b,a);C++代码:这里实现的主要...

2019-12-22 21:33:25 31387

原创 高性能与并行计算领域一些期刊与会议及资料阅读列表

IEEE transactions on parallel and distributed systems (TPDS)主页:https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=71归档文件:https://dblp.uni-trier.de/db/journals/tpds/Journal of Parallel and ...

2019-09-22 20:06:21 2062 1

原创 以cufftPlanMany为例FFT变换中embed,stride,dist的解释与设置

关于FFT的自定义数据分布进行变换,之前每次都是用的写demo,这次搞明白之后记录一下,以便以后查阅。比如需要对一个二维数组里的每一行或者每一列进行傅里叶变换,那么需要对cufftPlanMany进行设置,然后进行批量处理。cufftPlanMany的函数声明如下cufftResult cufftPlanMany(cufftHandle *plan, int rank, int *n...

2019-09-08 23:35:59 6590 13

原创 多GPU编程可能遇到的一些问题

最近在写一个多GPU编程的程序,按照传统的写法写了之后,程序一直卡在核函数运行之后,没有任何输出// includes, project#include <cuda_runtime.h>#include <device_launch_parameters.h>#include <cufft.h>#include <cuComplex.h&gt...

2019-09-04 10:28:18 387

原创 MPI_多节点执行程序

 有的时候MPI需要使用多节点,那么测试哪些进程在哪些机器上就比较重要,如下可以简单测试一下。#include &lt;unistd.h&gt;#include &lt;stdio.h&gt;#include &lt;mpi.h&gt;int main (int argc, char* argv[]) { char hostname[100]; int rank, size;...

2019-01-22 15:15:23 9733

原创 MPI_Scatterv 的使用 散发不同大小的数据块

如果需要将一个进程中的数据分发到不同进程,可以使用这个函数而每个进程如果需要的数目不同,则需要如下操作:1.首先根进程得到每个进程需要的数目(通过组收集gather)2.然后计算发送的数据不同的偏移(根据每个进程需要的数目计算)3.组分发 int main(int argc, char *argv[]){ int myid; //process i...

2019-01-15 23:31:24 3109

原创 MPI_Gatherv 的使用 发送接收不同大小的数据块

MPI_Gatherv可以从不同进程收集大小不同的数据块,但是在网上看到的都是发送固定大小,偏移量不同的例子,而官网给出的例子,虽然大小可变,但是需要重新定义数据类型,对于连续数据比较麻烦。下面的代码按照如下思路1.每个进程根据进程号初始化一块数据,发送数据大小与进程号有关(myid+1)2.首先使用Gather将每个进程要发送数据大小发给root进程,以方便偏移量的计算3.在ro...

2019-01-15 10:38:59 2542

原创 使用slim读取Deeplab里的tfrecords

splits_to_sizes = { 'train': 1000, # num of samples in images/training 'val': 100, # num of samples in images/validation}_ITEMS_TO_DESCRIPTIONS = { 'image': 'A color image of var...

2018-05-11 16:33:48 643

GPU高性能运算之CUDA

一般网上下载是加密版,为了打印把加密破解了,可打印,可复制。

2015-05-23

哈夫曼编码

代码在Visual Studio 2010上编译通过,给出一系列编码的倒序输出

2014-10-31

模拟退火算法解决旅行商问题

代码在Visual Studio2010上编译通过,运行方法直接将附带的51个城市数据复制进入控制台即可运行出结果。

2013-11-12

和声搜索算法解决旅行商问题

代码在Visual Studio2010上编译通过,运行方法直接将附带的51个城市数据复制进入控制台即可运行出结果。

2013-11-12

遗传算法解决旅行商问题

代码在Visual Studio2010上编译通过,运行方法直接将附带的51个城市数据复制进入控制台即可运行出结果。

2013-11-12

蚁群算法解决旅行商问题

代码在Visual Studio2010上编译通过,运行方法直接将附带的51个城市数据复制进入控制台即可运行出结果。

2013-11-12

STL排序概述

大致介绍了直接使用排序,与自己重新定义STL排序函数的方法。

2013-10-21

STL总括介绍

描述了C++里STL的大致使用方法 以及一些常用的库函数 自己总结的

2013-10-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除