自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (9)
  • 收藏
  • 关注

原创 伦巴舞学习日志

听音乐节奏,1234,往往是重轻重轻,第一拍总是重拍,所以你得去听那个“咚”,听到了不能着急出腿,因为伦巴是弱拍强跳,在拍2起动,出腿要快,拍3连动,拍4&1是最体现柔美和身体曲线延伸的两拍,慢下来,慢下来,慢下来,扭动身体,重心向下,跨部扭动,肩膀不动。

2010-08-23 13:36:00 4353 1

原创 Linux 学习日志:Linux, Linux C编程

从上周五到这周一的早上,我都干了点嘛呢?我大门不出,二门不迈,猫在宿舍里学Linux。用Windows时间长了,好像越来越呆滞了,反映也慢了,思维也局限了,下楼老忘拿钥匙了。。。呵呵,当然这不能怪Windows,可是谁曾想人老这么快呢。趁着没完全老去,学学Linux吧,而且很多职位要求上明文写着“熟悉Linux/Unix”。。。现实,真的很现实。

2010-08-23 12:54:00 3993 2

原创 OpenCL Programming Template -- Juliet

很久了,CSDN博客图片一直处于和谐态,灰常影响博友心情=_=!!! 这里(http://download.csdn.net/source/2030769)有OpenCL开发流程,Platforms/Devices/Context概念澄清的图解,需要的朋友可以下载看看,免积分。本篇我写OCL程序的一个模板,拿出来晒晒太阳,大家喜欢了可以拿去用。CUDA与OpenCL的裙带关系矣然大白于天下

2010-01-28 17:25:00 5361 3

原创 Compiler Optimization on VLIW Instruction Scheduling for Low Power

Compiler Optimization on VLIW Instruction Scheduling for Low PowerChingRen Lee, Jenq Kuen Lee, TingTing HwangNational Tsing-Hua University, TaiwanACM Transactions on Design Automation of Electro

2010-01-07 17:08:00 3408

原创 《GPU高性能运算之CUDA》勘误表

这是我们《GPU高性能运算之CUDA》一书的勘误表,多谢读者朋友的反馈与分享~~   Normal 0 7.8 磅 0 2 false false false MicrosoftI

2009-11-20 14:03:00 6389 1

原创 谈谈SIFT、PCA-SIFT、SURF及我的一点思考

SIFT(Scale-invariant feature transform), Lowe, 2004PCA-SIFT(Principle Component Analysis), Y.ke, 2004SURF(Speeded Up Robust Features), Bay, 2006 这三位先后登场各有千秋,算是图像特征点检测领域的宋氏三姐妹了!SIFT鼻祖先宗大佬,PCA-S

2009-10-07 23:06:00 42472 19

原创 关于NVIDIA OpenCL/CUDA Best Practice里一段话的思考

The compiler replaces a branch instruction with predicated instructions only if the number of instructions controlled by the branch condition is less than or equal to a certain threshold: If t

2009-10-06 22:31:00 4369 1

原创 话说OpenCL(一)

 今天扫了一下OpenCL,大概印象是这样的(这里不在语法细节上纠结,只在大面儿上谈一下):OpenCL(Open Compute Language),异构系统(CPU+GPU)并行编程的一个开放标准,接口比较底层,可视为NV自家API向开放标准的一次升级或叫过渡。主要元素有:kernel程序可以在运行时编译(不像CUDA driver API那样由NVCC.exe预编译成ptx/cubin再

2009-10-04 01:29:00 8978 2

原创 有道难题,决赛第一轮之“如何为实习生安排座位”

  ü         问题描述:N排,每排M个座位,任何两个实习生座位不能水平、垂直或对角线相邻。输入:string intern[] intern[]的各元素拼起来得到一串以单个空格隔开的数字。总共N个数字,表示第i排坐了几个实习生。输出:满足条件的座次安排方案数。因总数可能过大,返回 方案总数%1000000007的结果。约束:1.      M∈

2009-09-20 20:48:00 3574

原创 CUDA通信机制

CUDA体系架构支持怎么样的通信方法呢?往下看喽@_@1.       __syncthreads()Block内的线程同步。Block内所有线程都执行到这一位置(BAR指令),先到的要等后来的,到齐了后再继续后面的任务。执行结果对block内所有线程可见2.       Memory Fencel  __threadfence()Grid内的线程同步。保证该语句前的,gr

2009-08-25 21:57:00 5390 3

原创 Pinned Memory: portable, mapped, write-combined

 1.       Pinned memoryBefore CUDA2.2:  the benefits of pinned memory were realized only on the CPU thread (or, if using the driver API, the CUDA context) in which the memory was allocated. Pinned

2009-08-25 10:23:00 5345 2

原创 Stream && Event

Stream Tips:1.       for()  cudaStreamCreate()2.       cudaMallocHost()3.       for()  cudaMemcpyAsync(,,,stream[i]); for()  kernel>>()for()  cudaMemcpyAsync(,,,stream[i]);cudaThreadSynchr

2009-08-24 18:07:00 4067

原创 SIFT特征点匹配与消除错配:BBF,RANSAC

Step1: BBF算法,在KD-tree上找KNN。第一步做匹配咯~ 1.       什么是KD-tree(from wiki)K-Dimension tree,实际上是一棵平衡二叉树。一般的KD-tree构造过程:function kdtree (list of points pointList, int depth){    if pointList is

2009-08-21 21:49:00 38480 30

原创 扩展CUDA SDK 2.3 の convolutionSeparable

SDK2.3的convolutionSeparable示例,纯代码,零注释,忒血汗。。汗了半小时才o掉,帖出来供大家参考。离散数据的二维卷积: 其中,Ar、Ac分别是A的行数与列数。应用很多,比如对图像做高斯平滑(去噪),拿高斯核与输入图像做卷积。convolutionSeparable之所以”Separable”,是因为它在row、col两个维上分别做了卷积操作。在此先奉上CPU

2009-08-03 21:07:00 4882 3

原创 AC 经典多模式匹配算法

       今天说说多模式匹配AC算法(Aho and Corasick),感谢追风侠帮忙整理资料,while(1) {Juliet.say("3Q");}。前面学习了BM、Wu-Manber算法,WM由BM派生,不过AC与它们无染,是另外一种匹配思路。 1. 初识AC算法Step1: 将由patterns组成的集合(要同时匹配多个patterns嘛)

2009-05-23 15:27:00 21304 8

原创 Wu-Manber 经典多模式匹配算法

 多模式匹配的用法,多了去了!DB中对selected patterns进行数挖;安全中对suspicious keyword进行匹配;各种日期形式2009-5-20,2009年5月20日,May,20的搜索;DNA配对;各种replace功能;等等,太口水了枚举这个。       Wu-Manber基于BM算法思想,如果您佬BM还没OK,请参照我的BM日志搞搞清楚先。       提

2009-05-21 14:56:00 21921 7

原创 Boyer-Moore 经典单模式匹配算法

O了O了!我现特想说:一个人Boyer-Moore都敢闹明白,他还有什么不敢的呢^_^ 经典单模式匹配算法:KMP、BM;经典多模式匹配算法:AC、Wu-Manber。貌似实用中,KMP跟C库strstr()效率相当,而BM能快上3x-5x。于是小女不才花了小天的功夫来研究这个BM算法。BM如何快速匹配模式?它怎么跳跃地?我今儿一定要把大家伙儿讲明白了,讲不明白您佬跟帖,我买单,包教包会。

2009-05-19 11:34:00 35445 41

原创 递归 递归 递归 —深入浅出

递归是种思想,不是算法。一个算法,你用递归去实现,它就是递归算法;你用循环去实现,它就是非递归算法。递归与循环一一对应,大多数编程语言都支持循环,但不一定支持递归。一个大问题,分解成类似的小问题,递归只用一句话就能描述这些“重复工作”,代码那叫一个简单!想想这句话的威力都觉得很牛B!递归算法简单而又经典的例子有:n!、Fibonacci、Hanoi、回溯、树遍历、图搜索。敲代码的时候,

2009-05-11 23:15:00 6625 2

原创 kilo meg giga tera peta exa zetta yotta

虽然这些都是很简单的知识,但是还是想记下来,给大家参考,也给自己留个念想。呵呵。 kilo     Kmeg   Mgiga   Gtera    Tpeta   Pexa     Ezetta   Zyotta   Y 在电子及物理领域,是以10为底的幂进行计量,以10^3为增量进位。如1K=10^3, 1M=10^6,…。如物理的质量、功率、能量、电

2009-05-11 14:00:00 5835

原创 非规则计算中的局部性和并行性

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <! /* Styl

2009-04-09 12:28:00 3817

原创 CPU上0.0022S的九宫算法,GPU能更快么?

欢迎大家下载我上传的资源: (内附源码、详细代码注释、测试数据) 源码1:普通IDA*算法实现八数码源码2:变相IDA*算法实现八数码,这个我得好好说道说道。  一大清早地,跟电脑前发愣,突然想知道8/15数码的GPU速度会怎样,毕竟这可是搜索界的极品问题了。先跟网上狂搜一把,“2005年百度之星”的决赛题目,就这个九宫问题,且看冠军得主楼大牛如何在0.0022s的时间内搞定它(请

2009-03-17 23:01:00 2513 2

翻译 BFS_CUDA

Algorithm 1 CUDA_BFS(Graph G(V, E), Source Vertex S){1. Create vertex array Va from all vertices in G(V, E);2. Create edge array Ea from all edges in G(V, E);3. Create Frontier array Fa, visit

2009-03-08 17:32:00 3007 2

转载 中国选手包揽前两名! Google全球编程挑战赛落幕

第五届 Google 全球编程挑战赛(Google Code Jam)于上周末在美国落下帷幕。来自世界各地的 100 位顶尖的编程高手参加了最终决赛,中国小将楼天城和朱泽园分获比赛冠亚军!此次比赛由前几届编程挑战赛的冠军和谷歌员工利用自己 20% 自由时间组成的团队创建了一个崭新的平台。超过 1 万 1 千名选手参加了本届比赛,他们用自己熟悉的语言挑战复杂的算法。在 7 月和 8 月举行的一系列在

2008-12-20 14:39:00 2093 1

原创 Javascript中Arguments和Function的使用与比较

1. arguments[] 标识符arguments本质上是个局部变量,在每个函数中都会被自动声明并被初始化。它只在函数体中才能引用Arguments对象,在全局代码中没有定义。Arguments对象有带编号的属性,存放实参的数组。 2. Arguments 2.1 Arguments.length 有length属性,说明实参个数。所有实参都会成为Arguments对象的数组元素,无论函数声明

2008-12-20 13:52:00 1892

原创 Javascript中的对象

1. 引言 在JS中,对象是一种基本数据类型,也是最重要的数据类型。对象是一个无序的属性集合,每个属性都有自己的名字和值。JS中没有“类”的概念哦! 2. 对象的创建 //创一空对象,即无属性 var o=new Object(); //内部构造函数创对象 var now=new Date(); //当前日期 var new_year=new Date(2008,1,1);//表示2008年1月1

2008-12-20 13:51:00 1713

原创 JavaScript解释器的设计与实现

学习自华科张军林等老师的论文《JavaScript语言解释器的设计与实现》,思路很好,跟大家分享一下,共同进步哦 1. 词法分析以嵌入在html文本中的JS脚本程序为输入形成单词链表,以便语法分析。单词链表为双向链表。 2. 语法分析以单链表为输入,依JS语言的语法规则形成中间数据结构。中间数据结构能够反映出程序语句描述的数据处理流程。 3. 解释执行器以中间数

2008-12-20 13:50:00 10245 1

原创 世界上第一个黑客

    凯文·米特尼克,1964年生于美国加州的洛杉矶。    13岁时他对电脑着了迷,掌握了丰富的计算机知识和高超的操作技能,但却因为用学校的计算机闯入了其他学校的网络而被勒令离校。    15岁时,米特尼克成功入侵了“北美空中防务指挥系统”的主机,成为黑客史上的一次经典之作。    不久,他又成功破译美国“太平洋电话公司”在南加利福尼亚洲通讯网络的“改户密码”。随后,他又进入了美国联邦调查局(

2008-12-20 13:48:00 3874

原创 10 ways to Improve Your Programming Productivity

Having worked at Google and now working in my own business, Ive noticed that some days Im just a rockstar at getting everything done, and others I can barely get a few lines of code out, or accompli

2008-12-20 13:46:00 1454

原创 加密 VS 混淆 VS 动态代码混淆

加密加密主要是为了防止未经授权的使用,对这种情况即使破解了加密,也只能非法使用,并不一定能获得软件的代码逻辑;但对于脚本来说,防止对代码进行访问的措施,也属于加密,这时破解了加密就获得了代码; 混淆混淆是在无法阻止他人获取代码的情况下,采取的保护代码的逻辑不被他人理解的措施;对于混淆的代码,他人很难理解,无法进行修改和重新利用; 对于涉及到JS的系统的加密,我们建议不要

2008-12-20 13:45:00 2125

原创 API HOOK的实现原理

一、序言对大多数的Windows开发者来说,如何在Win32系统中对API函数的调用进行拦截一直是项极富挑战性的课题,因为这将是对你所掌握的计算机知识较为全面的考验,尤其是一些在如今使用RAD进行软件开发时并不常用的知识,这包括了操作系统原理、汇编语言甚至是机器指令(听上去真是有点恐怖,不过这是事实)。当前广泛使用的Windows操作系统中,像Win 9x和Win NT/2K,都提供了一种比较稳健

2008-12-20 13:44:00 1353

原创 Ajax跨域访问方法大全

Case I. Web代理的方式 (on Server A)即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果。此方案可以解决现阶段所能够想到的多数跨域访问问题,但要求A网站提供Web代理的支持,因此A网站与B网站之间必须是紧密协作的,且每次交互过程,A网站的服务器负担增加,且无法代用户保存session状态。 Cas

2008-12-19 23:47:00 1787 2

原创 XSS 跨站脚本攻击

Case I: 完整的XSS worm入侵实现流程 Step 1: 先测试’’;:!--"=&#{()} // 等字符。结果 过滤了"javascript","&"和"/"这两 个转义字符串,因此HTML转码和CSS样式转码已无效,只好从属性和事件入手. Step 2: 测试常用属性expression和两个事件onerror/onload。结果没有过滤字符哦Step 3:

2008-12-19 23:42:00 1598

原创 整数划分

直接帖程序好像有点不厚道,偶的神哪,就让我不厚道这么一次吧: #include using namespace std; int q(int n,int m) //n划分的最大整数n1{ if(nif(n==1 || m==1) return 1; if(nif(n==m) return q(n,n-1)+1; return q(n,m-1)+q(n-m,m); } int q2(int

2008-12-19 23:41:00 2172

原创 0-1背包—DP、暴力、贪心

最简单地:v是空间,w是价值,要求总价值最大 dp[v] = max {dp[v-v[i]] + w[i]};//自顶向下;                                       //自底向上    1.  /**********************************************************    2. *        0-1背包问题   

2008-12-19 23:34:00 3559 5

原创 Joseph—约瑟夫环 线性复杂度

说有n个要被处决的人(编号0~(n-1)),从0开始报数,报到(m-1)的会被杀掉,剩下的人继续从0开始报数,如此下去最后剩的一个人会存活下来。说Joseph发现了这个规律而且把他透露了出来,现在假如你在这n个人里面,你会选择几号位置站下。   很显然你会选择能活下来的那个位置,所以问题就是如何得到这个位置。   首先想到的是模拟(至少我笨脑子是这么想的),但无论是用链表还是用数组这个时间复杂度都

2008-12-19 23:33:00 1860

原创 从N到M中出现多少个1

1. f(n, m): N到M中出现多少个1。 2. g(x): 1到x中出现多少个1。则f(n, m) = g(m) - g(n - 1) 3. h(x, y): x在y位上出现多少个1。g(x) = h(x, 1) + h(x, 2) .... h(x, n)    每10个数会在个位出现1个1、每100个数会在十位出现10个1... sample input: 2 200 sample ou

2008-12-19 23:32:00 1178

原创 排序算法

http://baike.baidu.com/view/297739.html http://bbs.51cto.com/archiver/tid-431822.html 过两天再整理,会很全地~~ 1. heapsort O(nlgn) O(nlgn) O(nlgn) 建堆 O(nlgn); heapify O(lgn); heapsort O(nlgn); 2. QuickSort O(n^2

2008-12-19 23:30:00 837

原创 主定理

改天再好好总结一下,今天先发这个占位: 

2008-12-19 23:28:00 1220

原创 N结点二叉树中M个结点的连通子图个数

给定一棵有N个结点的二叉树。求它的所有结点数为M的连通子图数目。 设以n为根的结点数为m的连通子图数目 dp[n][m] dp[n][m] = dp[2n][m-1] //左孩子 +dp[2n+1][m-1] //右孩子 +SUM { dp[2n][i] * dp[2n+1][m-1-i]} //1input: one tree m output: SUM (dp[i][m]) //i=1...n

2008-12-19 23:25:00 1667

原创 注入,动态生成及混淆的恶意代码的检测

DOME(Detection of Maliciious Executables)它是一种检测宿主可执行文件中的恶意代码的技术。DOME通过表态分析确定软件中产生系统调用的位置(虚拟地址),然后再监视软件运行并难所有观察到的系统调用都是从静态分析时获得的地址处产生的。这种技术简单,易行,实用,而且对注入,动态生成以及混淆的恶意代码都非常有效。1. 注入式的代码 - 运行期间注入某个进程

2008-12-19 23:21:00 1622

大稀疏矩阵的存储,文档及源码

大稀疏矩阵的存储,包括:DIA(diagonal non-zeros)、ELLPACK、COO、CSR、HYB(ELLPACK+COO)、DOK(MAP-based)、LIL(List-based)等多种存储格式,内含文档与源码。没有哪种格式占绝对优势,视情况选用。当然还有四元树等其它方法,有兴趣的朋友请留言~

2010-08-24

扩展的高斯卷积算法 X-convolutionSeparable

用高斯核做高斯模糊,先做行再做列。由于SDK里的该例程对图片宽高要求严格,而且边界处理地不甚妥当,于是我进行了适当的扩展,使得其可以处理任意宽*任意高大小的图片,而且经过对边界的clamp处理,使得图片边界不再白白。

2010-02-28

频繁项集挖掘算法的CUDA实现

若干频繁项集挖掘算法的描述及实现思路(CPU、CPU+GPU),主要是Apriori算法(两种CUDA实现,借助bitmap/trie),另外还有对FP-growth算法实现的探讨和K-means聚类算法的简介。Apriori的加速效果最明显(100倍),FP-growth因其树型存储和索引方式不太适合GPU实现。

2010-02-22

CUDA实现稀疏大矩阵乘法

稀疏矩阵的DIA/ELLPACK/COO/CSR/HYB表示形式,以及各表示形式下的稀疏矩阵乘法(稀疏大矩阵*矢量)的CUDA实现。对于矩阵中每一行稀疏元素个数较统一的情况,ELLPACK表示最佳,其次是HYB(ELL+COO)。关于稀疏矩阵的研究很多,这里列出的仅是凤毛麟角,有兴趣的朋友我们一起探讨。

2010-02-21

Compiler Optimization on VLIW Instruction Scheduling for Low Power笔记

"Compiler Optimization on VLIW Instruction Scheduling for Low Power"一文的读书笔记,图文。

2010-02-01

OpenCL开发流程,platform/devices/context概念澄清

图解。关于OpenCL开发流程及platform/devices/context等概念澄清的图示。

2010-01-28

八数码的IDA*算法实现

(内附源码、详细代码注释、测试数据) 源码1:普通IDA*算法实现八数码 源码2:变相IDA*算法实现八数码,ACRush楼天成大牛的2005百度之星巨作,佩服佩服,CPU上平均跑0.0022S

2009-03-17

MartrixAdd_CUDA 矩阵加的CUDA实现

入门练习的小程序,呵呵,CUDA实现矩阵加法。

2009-03-10

BFS_CUDA 广搜的CUDA实现

BFS_CUDA源码,图用邻接链表表示,一层结点并行起来,一结点一线程,复杂度是O(diameter)。具体原理请参见blog.csdn.net/iJuliet

2009-03-10

空空如也

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

TA关注的人

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