- 博客(57)
- 资源 (13)
- 收藏
- 关注
原创 使用CodeBlocks编写OpenCL程序
在我很久之前的博文中提到过CodeBlock在Ubuntu中的下载和设置:http://blog.youkuaiyun.com/hanxing0/article/details/23552751一直感觉VS中的设置略显麻烦,后来在CodeBlock中使用因为一个小错误,以为不支持OpenCL提示,也就没继续,偶然的机会发现是我误会了这个编程环境。我使用的平台是联想Lenovo Y485P,A10
2014-12-25 13:40:01
4142
2
原创 OpenCL中设置内核参数整理
很久没来了,一直在忙毕设的东西。这篇博文整理下OpenCL内核参数设置的问题。资源摘自OpenCL实战首先,说一下kernel中的几种地址空间限定符:(1)__global该参数的数据会保存在全局数据空间,在内核中的参数使用例子如下:__kernel void kernel_func(__global float *f){}(2)__constant该参数的
2014-12-25 13:26:42
9252
1
原创 STL在排序算法中的应用小例
题目:1、对整形数据组按照和指定整数的差值大小进行排序,按照差值升序排列返回。【输入】 num:整型数组; value 指定的整数【返回】 按照升序返回整型数组,排序按照各个整数和指定整数的差值大小【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例 输入:num = {1,2,3,4,5,10,17,18
2014-09-06 15:57:20
1978
原创 AMD OpenCL例子阅读笔记系列之Radix_Sort(六)
终于到最后出结果的时刻了,有点小激动呢哼。通过5的分析,实际上再看最后一个内核函数就会很轻松了。最后一个内核函数是permute函数,以64*256个元素为组进行处理。每个work-item处理256个数据。在单倍情况下就只有64*256个数据处理,这时候全局和局部都是64,一维情况。 看了下,似乎没有什么难以理解的地方,主要用到了局部内存和内核同步等知识。直接上内核函数。
2014-05-20 10:43:03
2618
原创 AMD OpenCL例子阅读笔记系列之Radix_Sort(五)
首先我们先整理下我们目前通过上面几讲的内容得到的结果:1. sumBufferin:组加和结果2. summaryBUfferout:组加和结果进行偏移量整理的结果3. scanedHistogramBinBuf:以组为单位进行偏移量计算结果 那么这些结果与最后我们需要的偏移量有什么关系,我们先来看下最后一个内核函数:FixOffset
2014-05-19 16:55:44
2408
原创 AMD OpenCL例子阅读笔记系列之Radix_Sort(四)
在三中我们又得到了两个中间结果sumBufferin以及scanedHistogramBinsBuf两个结果。那么接下来如何呢?我们继续循着程序执行路径往下看,因为numGroups=64,所以runFixOffsetKernel中间的if部分判断的内容将不会执行。也就是我们说的单倍形式下只需要3个内核。 那么下一个内核通过查看我们发现是scanArrayKerneldim1,弄
2014-05-19 16:19:21
2578
原创 AMD OpenCL例子阅读笔记系列之Radix_Sort(三)
在完成了二中的histogramBinsBuf的统计后,需要对其进行进一步的处理以得到基数排序的最终偏移信息。这个过程是本例子中最复杂的一部分。其中根据分组的情况包含3个内核调用或者5个内核调用。 这里需要说明下,内核本身执行时需要对数据进行预处理才能放到GPU上运算。这个例子的使用上面,采用的规则是: 数据的个数必须是64*256=16384的倍数。
2014-05-19 16:01:23
3207
原创 AMD OpenCL例子阅读笔记系列之Radix_Sort(二)
因为Radix Sort本身比较大,这里分块对系统做阐述。在上一个博文中,已经向大家介绍了该例子的主机部分。这里向大家重点讲述下内核的并行思想。至于内存对象及调用顺序等需要大家结合AMD的例子来看,都弄到博文会很长。今天来讲一下例子中的比较简单的内核函数应用histogram内核应用。Histogram内核用于分组统计随机生成的数据。统计的规则为:1. 将所有数据分成以256
2014-05-19 14:34:44
2921
原创 AMD OpenCL例子阅读笔记系列之Radix_Sort(一)
又是好久没来了,这次我们来看看Radix_Sort也就是基数排序。为了更好地理解,这里先贴一个网上的基数排序的博文: http://www.cnblogs.com/Braveliu/archive/2013/01/21/2870201.html 再贴上百度上的一些介绍性的内容: (radix sort)则是属于“分配式排序”(distribution s
2014-05-13 15:24:42
3155
原创 Gromacs源码收获(四)
mdrunner函数在runner.c和runner_openmm.c中均有,是MD模拟的主要程序之一。但是对另一个do_md函数的调用一直是个谜,今天终于看出了点头绪。这里以runner.c中的mdrunner作为例子:先看一个integrator的定义,在这里我们发现了do_md的影子。Interator有积分器,综合者的意思/* The array should match
2014-04-05 16:28:56
2636
原创 Gromacs源码收获(三)
哎,真是苦逼的,对分子动力学的不熟悉导致对Gromacs源码的解读不太顺利。目前摸索出来的Gromacs程序集中最主要的计算程序为mdrun,所以很自然地想要了解mdrun程序源码都包含哪些。经过解读,终于有了初步的了解: Gromacs中的核心运算程序为mdrun程序,为了查找mdrun程序的源码,通过查看CMake中发现如下语句:其程序信息主要在kernel\CMa
2014-03-31 15:58:09
1755
原创 Gromacs源码收获(二)
这个系列谈不上多深刻,更谈不上高深。只是想把做论文过程中看到的一些东西记录下来。难免零零碎碎一些。Gromacs作为老牌的分子动力学模拟软件,其优化已经做的相当出色了。我想做的工作主要是将其中的CUDA计算nonbond力的工作移植到OpenCL上来,讲起来容易,可是真正做起来才发现不是这么简单啊。1.首先对分子动力学不了解,目前也就是皮毛的认识2.CUDA不了解3.因为工程是用CMa
2014-03-24 15:45:42
1775
原创 小算法程序收集
求最大公约数的算法,这个我想应该是算法或程序书籍中的常客了,可是真正写时可能会忘掉,最简单的就是欧几里得算法(又称辗转相除法)。就是下面这种:定理:gcd(a,b) = gcd(b,a mod b) (a>b 且a mod b 不为0)那么如果是多个数怎么整?static int gmx_greatest_common_divisor(int p, int q){ int tmp
2014-03-24 14:28:18
901
原创 Gromacs源码收获(一)
最近在看Gromacs的源码,万恶的毕设。对于分子动力学的小白来说,做这个真心是一个巨大的挑战啊。但是通过看代码还是能学到些东西的,聊以慰藉。今天看到一个snew宏,死活不懂为什么宏后面的参数前有一个#号,做一个小实验试了下,原来可以得到变量名。#define _CRT_SECURE_NO_DEPRECATE #include using namespace std;#define sn
2014-03-21 21:57:39
2241
1
转载 花10分钟看一看少走30年弯路
花10分钟看一看少走30年弯路HP大中华区总裁孙振耀退休感言 :如果这篇文章没有分享给你,那是我的错。如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我。如果你看了这篇文章,只读了一半你就说没时间了,说明你已经是个“茫”人了。如果你看完了,你觉得这篇文章只是讲讲大道理,说明你的人生阅历还不够,需要你把这篇文章珍藏,走出去碰几年壁,头破血流后再回来,再读,你就会感叹自
2013-07-19 17:09:53
1263
转载 转载之再转DDK与WDK
最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料。 1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WINDOWS下的驱动程序,我们需要一个DDK/WDK。 2.DDK(Driver Developer Kit
2013-06-20 11:27:48
1033
原创 Ubuntu自动挂载NTFS分区
sudo apt-get install ntfs-config 再配置一下:sudo ntfs-config
2013-06-18 10:40:18
1298
原创 Qt窗体间传值之public函数接口
在前两篇博文中,已经展示了两种窗体间传值的方式,这里介绍另一种,使用public函数接口的方式,这里就牵扯到两个方向间的传值,父到子以及子到父窗口,通过这种方式都很容易做到,如子到父,可以在子窗体中实现一个public方法如prepareDoingData(&data),将需要处理的data的引用传递到子窗体,子窗体中可以对其进行操作,这里展示父到子的传值: 在Dialog界
2013-06-13 17:07:05
7114
原创 QT窗体间传值之全局变量
上一次的文章讲到了使用Signal&Slot机制进行窗体间数据的传递。这里介绍另一种方式全局变量进行传值,在上一次的界面中的mainWindow和dialog中分别加入一个Label和LineEdit以及一个pushbutton。效果如: 运行方式为在主界面mainWindow中单击全局变量按钮对全局变量进行赋值,赋值完成后,在Dialog中单击全局变量在LineEdit中
2013-06-13 16:48:22
14486
1
原创 QT窗体间传值总结之Signal&Slot
在写程序时,难免会碰到多窗体之间进行传值的问题。依照自己的理解,我把多窗体传值的可以使用的方法归纳如下: 1.使用QT中的Signal&Slot机制进行传值; 2.使用全局变量; 3.使用public形式的函数接口; 4.使用QT中的Event机制(这种没有把握,但是感觉应该是可以的),但是实现起来应该比前几种复杂,这里不做讨论。
2013-06-13 16:18:25
31047
5
转载 Qt 让弹出的窗口居中显示
设置窗口居中显示这是在UI编程中经常要遇到的问题。方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码:#include //.......QDesktopWidget* desktop = QApplication::desktop(); // =qApp->desktop();也可以move((desktop->width() - this->wi
2013-06-11 21:04:36
6308
原创 sqlite的安装移植及使用,持续更新吧
Linux环境下的安装及测试: http://blog.youkuaiyun.com/tianyou121/article/details/6104317ARM环境下交叉编译: http://wenku.baidu.com/view/6a8a501cfc4ffe473368abe0.html,那个错误真心发生了(Federo10),早点改过来吧。
2013-05-27 22:34:39
1164
转载 qt调试器设置
在写程序过程中用到调试器是难免的,可是使用时却提示GDB调试器未配置,Oh,My God。还好优快云中有已经解决的案例:http://bbs.youkuaiyun.com/topics/390329910在这里啦。
2013-05-27 16:47:17
5065
转载 解决QT4 Designer的菜单无法显示问题
学习的过程很大程度上是和各种错误战斗的过程,今天又遇到了一个问题,一通搜索后才发现解决方法,贴上来给遇到相同问题的人分享下:具体的解决方式在http://hi.baidu.com/5924431/item/98998ec1b6d6d256bcef697d中有描述。
2013-05-27 11:04:12
1227
转载 qt designer 编译出来了,运行却不能输入文字 原因及解决办法
在fedora里面 编译好Qtopia以后,设置好环境变量,比如 source setX86_env再执行 ././designer &后台运行 designer软件软件运行起来以后,里面不一定能输入字符,此时 右击输入法键盘 图标 点击 exit就可以输入字符了,这里不能输入字符一般是这个输入法问题, 据网友反映 Fedora10自带的SCIM有问题,换成IBUS一切正常
2013-05-21 15:49:54
2192
原创 Ubuntu真心不太适合搞开发啊
搞了N久的QTOPIA编译,仍然不能搞定。最终放弃了在UBUNTU下再继续努力了。换了TQ2440推荐的Fedora 10,一切都变的顺利了。气都顺了…………………… 目前是在虚拟机种装的,以后再考虑在硬盘下安装。不过今天坑爹的发现,ubuntu虽然在安装时选择的逻辑盘,但是实际上在win7中显示的是主分区。这样导致逻辑分区后面的空闲分区就不再属于逻辑分区了,而用Fedora进行安
2013-05-17 22:37:08
4912
转载 显示器驱动已停止响应,并且已恢复
这是一个比较头疼的问题:安装好的WIN7偶尔会出现黑屏,过两三分钟后又自动回复正常,然后在下面有一个气泡提示“显示器驱动已停止响应,并且已恢复”。度娘了一下,将经验转到这里: http://jingyan.baidu.com/article/2fb0ba40740c7900f2ec5f11.html
2013-05-17 22:19:02
1812
转载 qt版本介绍
转载地址:blog.youkuaiyun.com/synu_soft/article/details/76494701.关于Qt,Qt/E,Qtopia Core, Qtopia这些版本之间的区别和联系,似乎没有看到一个比较有价值的讨论,本人现在总结一下个人的理解: Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等。由于Qt最早是在Linux中随着KDE流行
2013-05-16 15:28:02
964
原创 换用QT4.8.1了
因为QT5.0.2的中文输入问题,所以最终还是选择了QT4.8.1(Ubuntu软件中心下载)以及qt助手等常用QT4工具进行QT的学习。不过发现QT5和QT4.8.1是可以共存的。这也算是留有一个余地。等等看QT5会不会解决输入法的问题。下一步就是看看Qtopia和Qt4.8的移植了。总之先要把环境建好啊。
2013-05-16 10:21:18
1608
OpenCL Parallel Programming Development Cookbook
2014-05-24
Ajax框架源程序 .NET C#
2009-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人