03 2012 档案

摘要:http://www.cocoachina.com/bbs/read.php?tid-31196.htmlOpenCL是由Apple公司起草设计的用于大规模并行计算的计算编程语言,并于2008年6月提交给KHRONOS开放标准组织,并在当年的12月由该组织release了第一版。OpenCL即:Open Computing Language下面将简单地为大家介绍OpenCL的特征以及一些基本概念和术语。OpenCL的设计要求:一、使用系统中所有计算资源:1、将CPU、GPU以及其它处理器进行统一编程2、同时支持数据以及任务并行计算模型二、基于高效C的并行编程模型:抽象了底层硬件的细节三、在嵌入 阅读全文
posted @ 2012-03-28 23:12 董雨 阅读(456) 评论(0) 推荐(0)
摘要:http://www.cocoachina.com/bbs/read.php?tid-31352.html首先,感谢各位,感谢CocoaChina对OpenCL的关注。看到首页上一个大大的OpenCL图标,在下着实激动不已,呵呵。另外,再次感谢Apple能够搞出OpenCL来方便地利用GPU等加速处理器来解决高兴能计算领域的问题。在《概述》章节中,我把OpenCL中遇到的一些基本概念以提纲的形式罗列了出来,目的在于给各位以一个框架性的介绍,然后各位可以在网上搜索到相关的更具体的介绍。就目前对于Mac而言,要获悉,或者说要对OpenCL的工作机制有更清晰的认识,那么有必要先对GPU在高性能计算上 阅读全文
posted @ 2012-03-28 23:09 董雨 阅读(723) 评论(0) 推荐(0)
摘要:这一讲我们将介绍更多的概念。 我们的示例程序是通过OpenCL来实现一个正方形的颜色渐变着色。 这里,我们将牵涉到变量存储属性,另外还引入了向量数据,向量数据是如何操作的,向量数据与标量数据是如何交叉操作的。 我先在首页贴上OpenCL的内核代码,然后附上完整的工程。// Render a square// left-top: red(1, 0, 0)// left-bottom: green(0, 1, 0)// right-top: blue(0, 0, 1)// right-bottom:black(0, 0, 0)__constant float4 left_top ... 阅读全文
posted @ 2012-03-27 13:03 董雨 阅读(732) 评论(0) 推荐(0)
摘要:http://www.cocoachina.com/bbs/read.php?tid=33105&keyword=opencl以下代码就是本人针对之前的OpenCL教程,结合各位能掌握的程度列出的一个示例代码。这份代码由本人亲手炮制。 先贴代码,然后讲解。这里再附上完整的工程。这份代码,当然仍然只能在Snow Leopard下才能运行,因为Leopard上没有OpenCL驱动。/* * hello.c * OpenCL_init * * Created by Zenny Chen on 9/1/10. * Copyright 2010 GreenGames Studio. A... 阅读全文
posted @ 2012-03-27 12:52 董雨 阅读(358) 评论(0) 推荐(0)
摘要:http://www.cocoachina.com/bbs/read.php?tid=37608我们前几章介绍了OpenCL的一些基本概念以及一些基本的用法。我们之前的例子都是线程独立计算的,相互之间没有任何通信。而这样的计算模型也是GPU最最喜欢的,能完全发挥GPU众核并行计算的优势。 今天我们将介绍OpenCL多线程同步技巧。我们下面的例子将是以一个简单的求和算法来描述如何同步一个工作组内的线程以及工作组之间如何同步。 我们之前介绍过变量的地址属性。用__global修饰的变量存放在显示存储器中,特点是容量很大,但访问速度很慢,并且所有工作项都能访问;而用__local修饰的变量存放在共享 阅读全文
posted @ 2012-03-27 10:40 董雨 阅读(959) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/zenny_chen/article/details/6159746在OpenCL中,用__local(或local)修饰的变量会被存放在一个计算单元(Compute Unit)的共享存储器区域中。对于nVidia的GPU,一个CU可以被映射为物理上的一块SM(Stream Multiprocessor);而对于AMD-ATi的GPU可以被映射为物理上的一块SIMD。不管是SM也好,SIMD也罢,它们都有一个在本计算单元中被所有线程(OpenCL中称为Work Item)所共享的共享存储器。因此,在一个计算单元内,可以通过local shared me 阅读全文
posted @ 2012-03-26 17:21 董雨 阅读(435) 评论(0) 推荐(0)
摘要:多核编程学习笔记之同步(二)——采用Win32 线程API分布式 2010-04-10 00:25:15 阅读44 评论0 字号:大中小订阅I. 总结积累1.1 C/C++调用外部程序描述:运行指定的应用程序,这个函数是专用来兼容16位windows的。应用程序应该使用CreateProces函数。原型:UINT WINAPI WinExec( __in LPCSTR lpCmdLine, __in UINT uCmdShow );参数:lpCmdLine:将要运行的应用程序的命令行(文件名称加上可选参数)。如果在lpCmdLine参数中的可执行文件的名字没有包含目录的路径。系统将按顺序搜索. 阅读全文
posted @ 2012-03-19 23:15 董雨 阅读(620) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/woshiqianlong125/article/details/6159692多核编程学习笔记之同步(一)——采用Win32线程API实现分布式 2010-03-17 09:50:35 阅读66 评论0 字号:大中小订阅I. 务虚1.1 总体介绍 在Windows平台下可以通过Windows的线程库来实现多核编程,可以利用Win32API或MFC以及.Net Framework提供的接口来实现。实现方式的多样化给Windows编程带来了很大的灵活性,但也使得多线程编程变得复杂。对于多线程的程序可以使用Visual Studio调试工具进行调试,也可. 阅读全文
posted @ 2012-03-19 23:13 董雨 阅读(560) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/woshiqianlong125/article/details/6159671多核编程的几个难题及其应对策略(难题一) 相关文章链接:多核编程中的负载平衡难题 多核编程中的锁竞争难题 OpenMP并行程序设计(二) OpenMP并行程序设计(一) 双核CPU上的快速排序效率 随着多核CPU的出世,多核编程方面的问题将摆上了程序员的日程,有许多老的程序员以为早就有多CPU的机器,业界在多CPU机器上的编程已经积累了很多经验,多核CPU上的编程应该差不多,只要借鉴以前的多任务编程、并行编程和并行算法方面的经验就足够了。 我想说的是,... 阅读全文
posted @ 2012-03-19 23:12 董雨 阅读(290) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/woshiqianlong125/article/details/6159679多核编程学习笔记之OpenMP(一)I. 配置及简介1.1 在VC++2008(VC9.0)中,如果没有任何设置,在代码中使用编译指导语句将不会报错,但是也不起作用。1.2 OpenMP发展与优势1.2.1 OpemMP的规范由SGI发起,它是一种面向共享内存以及分布式共享内存的多处理器多线程并行编程语言。OpenMP是一种共享内存并行的应用程序编程接口。所有的处理器都被连接到一个共享的内存单元上,处理器在访问内存的时候使用的是相同的内存编址空间。由于内存是共享的,因此,某 阅读全文
posted @ 2012-03-19 23:11 董雨 阅读(2315) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/wangshide/articles/2263865.html从事科研工作有十几年了,走了很多弯路。我原来做小波分析及其应用,整天想的是怎么发点文章,但是多年后发现,虽然垃圾文章发了一大堆,但是真正有意义的文章几乎没有几篇。这是怎么了?终于有一天想通了,做科研的路子只有一条,那就是多思考本质问题。那么什么是本质问题呢?怎么思考本质问题呢?一、领域内工具的弱点是本质问题。任何一个领域的课题都有冷热的时期,在热门的时候,往往做点修补性的,组合型的文章比较容易发表,但是这些文章最终都不会被记忆,有时候甚至连铺路石的资格都当不上。小波分析领域的发起者之一m 阅读全文
posted @ 2012-03-17 00:04 董雨 阅读(209) 评论(0) 推荐(0)
摘要:目录1 摘要 2 为什么需要OpenCL? 3 OpenCL架构 3.1 介绍 3.2 平台模型 3.3 执行模型 3.3.1 内核 3.3.2 上下文 3.3.3 命令队列 3.4 内存模型 3.5 编程模型 4 基于OpenCL的编程示例 4.1 流程 4.2 图像旋转 4.2.1 图像旋转原理 4.3 实现流程 4.4 图像旋转 5 总结 6 参考文献 1 摘要由于晶体管功耗、物理性能的限制,CPU的发展受到了很大约束。 人们转而寻找其它方式来提高系统性能,如多核处理器,异构平台等。 开放式计算语言(OpenCL)的出现为当前大量存在的异构系统的并行计算提供了一个 标准。OpenCL通过 阅读全文
posted @ 2012-03-06 15:55 董雨 阅读(479) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/huwlnew/archive/2011/11/15/2250342.html首先要做个声明,文章是写给苹果系统的初学初装者。技术发展太快,所以这类文章,还是要看看时效,本人在初装Mac的时候,参考网上很多Baidu排名在前的文章,没有一个适合我的,不是谈的版本低(过时的:VMWare 7 + Mac 10.6 豹子版),就是安装过程有各种问题,所以我自己摸索了一套方法,证明可行,写给初装者参考,期盼哪天Mac能想通,实现一键式安装到PC(我是不打算买苹果机的,要不是为了IOS,哪有闲情搭理Apple)。总的说来,VMWare装Mac 还是很轻松的 阅读全文
posted @ 2012-03-04 15:30 董雨 阅读(306) 评论(0) 推荐(0)
摘要:http://sd.csdn.net/a/20120302/312658.html导读:之前Visual Studio 11开发者预览版发布的消息受到了众多技术人员的关注和讨论。日前Visual Studio 11最新的Beta版本在巴塞罗那正式推出。为让更多人了解相关内容,以及与Visual Studio 2010所能支持的项目类型比较,CSDN软件研发频道编译了Microsoft Visual Studio全球最有价值专家Mark Michaelis眼中的Visual Studio 11 九大新功能。项目兼容(Project Compatibility)高效的IDE(IDE Product 阅读全文
posted @ 2012-03-03 09:01 董雨 阅读(265) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/lexiaoyao20/article/details/6628830方法一:像素法即循环扫描整张图片,设置每一个像素的Alpha通道的值。 由于是一个个像素的处理,所以这种方法效率很低。[csharp] view plaincopyprint?///<summary> ///设置图片的透明度 ///</summary> ///<paramname="bitmap">原图</param> ///<paramname="alpha">透明度(0-255之间 阅读全文
posted @ 2012-03-02 23:56 董雨 阅读(1386) 评论(0) 推荐(0)