自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

卜居

卜知未来,居安思危

  • 博客(16)
  • 资源 (25)
  • 收藏
  • 关注

原创 ZED-Board从入门到精通(零):写在前面

去年10月份有幸报名参加了OpenHW2012开源硬件与嵌入式设计大赛,今年2月底顺利得到一块ZED-Board,从此步入了ZYNQ All-Programmable的世界。晒晒板子如下:ZYNQ系列SoC在单颗芯片上集成了ARM Cortex A9双核与FPGA,不仅开发软件可裁剪,而且硬件设备也可定制、自主开发,具有更大的灵活性。FPGA部分采用Xilinx Artix-7架构,被称为

2013-07-28 18:33:06 6858 4

原创 CUDA从入门到精通(十):性能剖析和Visual Profiler

入门后的进一步学习的内容,就是如何优化自己的代码。我们前面的例子没有考虑任何性能方面优化,是为了更好地学习基本知识点,而不是其他细节问题。从本节开始,我们要从性能出发考虑问题,不断优化代码,使执行速度提高是并行处理的唯一目的。 测试代码运行速度有很多方法,C语言里提供了类似于SystemTime()这样的API获得系统时间,然后计算两个事件之间的时长从而完成计时功能。在CUDA中,我们有专

2013-07-26 09:00:51 27591 16

原创 CUDA从入门到精通(九):线程通信实例

接着上一节,我们利用刚学到的共享内存和线程同步技术,来做一个简单的例子。先看下效果吧: 很简单,就是分别求出1~5这5个数字的和,平方和,连乘积。相信学过C语言的童鞋都能用for循环做出同上面一样的效果,但为了学习CUDA共享内存和同步技术,我们还是要把简单的东西复杂化(^_^)。 简要分析一下,上面例子的输入都是一样的,1,2,3,4,5这5个数,但计算过程有些变化,而且每个

2013-07-25 21:12:30 7523 7

原创 CUDA从入门到精通(八):线程通信

我们前面几节主要介绍了三种利用GPU实现并行处理的方式:线程并行,块并行和流并行。在这些方法中,我们一再强调,各个线程所进行的处理是互不相关的,即两个线程不回产生交集,每个线程都只关注自己的一亩三分地,对其他线程毫无兴趣,就当不存在。。。。 当然,实际应用中,这样的例子太少了,也就是遇到向量相加、向量对应点乘这类才会有如此高的并行度,而其他一些应用,如一组数求和,求最大(小)值,各个线程不

2013-07-25 20:03:45 8423 11

原创 CUDA从入门到精通(七):流并行

前面我们没有讲程序的结构,我想有些童鞋可能迫不及待想知道CUDA程序到底是怎么一个执行过程。好的,这一节在介绍流之前,先把CUDA程序结构简要说一下。CUDA程序文件后缀为.cu,有些编译器可能不认识这个后缀的文件,我们可以在VS2008的Tools->Options->Text Editor->File Extension里添加cu后缀到VC++中,如下图: 一个.cu文件内既包

2013-07-24 14:05:31 15387 9

原创 CUDA从入门到精通(六):块并行

同一版本的代码用了这么多次,有点过意不去,于是这次我要做较大的改动,大家要擦亮眼睛,拭目以待。 块并行相当于操作系统中多进程的情况,上节说到,CUDA有线程组(线程块)的概念,将一组线程组织到一起,共同分配一部分资源,然后内部调度执行。线程块与线程块之间,毫无瓜葛。这有利于做更粗粒度的并行。我们将上一节的代码改为块并行版本如下: #include "cuda_runtime.h"

2013-07-23 22:08:37 8951 4

原创 CUDA从入门到精通(五):线程并行

多线程我们应该都不陌生,在操作系统中,进程是资源分配的基本单元,而线程是CPU时间调度的基本单元(这里假设只有1个CPU)。将线程的概念引申到CUDA程序设计中,我们可以认为线程就是执行CUDA程序的最小单元,前面我们建立的工程代码中,有个核函数概念不知各位童鞋还记得没有,在GPU上每个线程都会运行一次该核函数。但GPU上的线程调度方式与CPU有很大不同。CPU上会有优先级分配,从高到低,

2013-07-23 21:46:35 10236 4

原创 CUDA从入门到精通(四):加深对设备的认识

前面三节已经对CUDA做了一个简单的介绍,这一节开始真正进入编程环节。首先,初学者应该对自己使用的设备有较为扎实的理解和掌握,这样对后面学习并行程序优化很有帮助,了解硬件详细参数可以通过上节介绍的几本书和官方资料获得,但如果仍然觉得不够直观,那么我们可以自己动手获得这些内容。 以第二节例程为模板,我们稍加改动的部分代码如下: // Add vectors in paralle

2013-07-23 13:17:50 11922 3

原创 CUDA从入门到精通(三):必备资料

刚入门CUDA,跑过几个官方提供的例程,看了看人家的代码,觉得并不难,但自己动手写代码时,总是不知道要先干什么,后干什么,也不知道从哪个知识点学起。这时就需要有一本能提供指导的书籍或者教程,一步步跟着做下去,直到真正掌握。一般讲述CUDA的书,我认为不错的有下面这几本:  初学者可以先看美国人写的这本《GPU高性能编程CUDA实战》,可操作性很强,但不要期望能全看懂(Ps:里面

2013-07-23 09:20:15 11182 5

原创 CUDA从入门到精通(二):第一个CUDA程序

书接上回,我们既然直接运行例程成功了,接下来就是了解如何实现例程中的每个环节。当然,我们先从简单的做起,一般编程语言都会找个helloworld例子,而我们的显卡是不会说话的,只能做一些简单的加减乘除运算。所以,CUDA程序的helloworld,我想应该最合适不过的就是向量加了。打开VS2008,选择File->New->Project,弹出下面对话框,设置如下:之后点OK,直接进入

2013-07-22 22:50:43 20382 9

原创 CUDA从入门到精通(一):环境搭建

NVIDIA于2006年推出CUDA(Compute Unified Devices Architecture),可以利用其推出的GPU进行通用计算,将并行计算从大型集群扩展到了普通显卡,使得用户只需要一台带有Geforce显卡的笔记本就能跑较大规模的并行处理程序。 使用显卡的好处是,和大型集群相比功耗非常低,成本也不高,但性能很突出。以我的笔记本为例,Geforce 610M,用Devi

2013-07-22 21:54:13 30568 12

原创 CUDA从入门到精通(零):写在前面

在老板的要求下,本博主从2012年上高性能计算课程开始接触CUDA编程,随后将该技术应用到了实际项目中,使处理程序加速超过1K,可见基于图形显示器的并行计算对于追求速度的应用来说无疑是一个理想的选择。还有不到一年毕业,怕是毕业后这些技术也就随毕业而去,准备这个暑假开辟一个CUDA专栏,从入门到精通,步步为营,顺便分享设计的一些经验教训,希望能给学习CUDA的童鞋提供一定指导。个人能力所及,错误难免

2013-07-22 21:33:02 22702 9

原创 【OpenHW参赛手记】AXI-Stream接口开发详细流程

下面讲一个例子,来加深对上面介绍内容的理解。笔者使用的软件版本为ISE 14.2。1.建立PlanAhead工程,一直到进入XPS,具体流程见官方文档CTT[1]。2.在XPS中,添加一个AXI-DMA模块,配置界面如图1所示。图1 AXI-DMA模块配置其余参数默认。SG模块如果选上,那么后面软件控制会相对复杂一些。这里不选,采用Simple模式,实现较为简单的传输。3.

2013-07-10 13:41:25 16044 40

原创 【OpenHW参赛手记】AXI-Stream接口介绍

AXI4-Stream协议是一种用来连接需要交换数据的两个部件的标准接口,它可以用于连接一个产生数据的主机和一个接受数据的从机。当然它也可以用于连接多个主机和从机。该协议支持多种数据流使用相同共享总线集合,允许构建类似于路由、宽窄总线、窄宽总线等更为普遍的互联。AXI4-Stream接口的信号线定义如图1所示[1]。比较重要的信号线有:ACLK为时钟线,所有信号都在ACLK上升沿被采样;A

2013-07-10 13:34:52 13616

原创 【OpenHW参赛手记】System Generator 与XPS连接的方法

由于项目需要用到DSP算法实现,考虑用System Generator辅助设计算法,但在参赛赠送的书里没有相关知识,需要自己动手摸索。还好在Matlab Simulink 内包含库XilinxBlocksets里右键发现了帮助文档,进入之后了解了怎么用Xilinx器件来完成算法设计,并生成网表。最重要的器件应该是Gatewayin和gatewayout,将matlab内的模块与Xilinx模块

2013-07-10 13:30:58 2026

原创 【OpenHW参赛手记】AXI初体验

去年报名参加了OpenHW2012开源硬件大赛,入围后收到了Xilinx赞助的ZED-Board。自从今年3月拿到ZED板卡,就开始体验ARM+FPGA这个神奇的架构。AXI,是PS与PL之间最佳的通信手段。Xilinx XPS中用户自定义IP核可以拥有AXI-Lite,AXI4,AXI-Stream,PLB和FSL这些接口实现和PS通信。其中AXI-Lite具有轻量级,结构简单的

2013-07-10 13:27:53 3206

caffe源码(2015年8月15日)

git clone https://github.com/bvlc/caffe.git 如果无法访问github,可以从这里下载。

2015-08-22

SDSoC第一个工程

利用Xilinx SDSoC创建的第一个测试工程,在ZED Board上运行矩阵乘法。编译后会生成SD卡镜像,直接拷贝到SD卡,插入ZED Board,上电,经过boot可以启动Linux。详见我的博客(http://blog.csdn.net/kkk584520/article/details/47220575)

2015-08-08

ZED Board实现AXI-ACP通信例子

用Vivado IPI搭建的Zynq-7000 PS到PL通信过程,使用了AXI-ACP接口,利用AXI-DMA IP实现直接读写DDR的过程,软件可以配置传输尺寸,与AXI-HP不同的是,这个工程由硬件(PS的SCU单元)实现Cache一致性协议,因此软件方面得以简化。

2015-08-08

ZED Board AXI-HP通信例子

用Vivado IPI搭建的Zynq-7000 PS到PL通信过程,使用了AXI-HP接口,利用AXI-DMA IP实现直接读写DDR的过程,软件可以配置传输尺寸,并实现Cache一致性协议。

2015-08-08

cuda-convnet2源码(截止2015-2-12)

https://code.google.com/p/cuda-convnet2/source/checkout

2015-02-12

Eclipse CUDA样例工程

在Fedora系统中运行CUDA样例可以采用命令行方式,但Eclipse提供了更人性化的操作界面,从而不需要记忆大量编译指令

2014-12-30

ZED Board上编译好的OpenCV依赖库

ZedBoard 上运行OpenCV可以实现图像、视频处理。交叉编译时可能会遇到各种问题,这时不妨先用已经编译好的版本进行试验,熟悉了以后可以自己编译。具体使用方法见博客。

2014-12-04

Caffe MNIST训练好的lenet模型

Caffe MNIST例子中训练好的LeNet模型,手写体数字识别准确率99%。

2014-12-03

Caffe数据集:MNIST

Caffe运行手写体数字识别例程前需要下载的数据集,共4个文件。

2014-12-01

Caffe数据集:CIFAR10之三

Caffe运行例程前需要下载的数据集,共6个文件,总大小180MB,分三次上传,这是第2个。

2014-12-01

Caffe数据集:CIFAR10之二

Caffe运行例程前需要下载的数据集,共6个文件,总大小180MB,分三次上传,这是第2个。

2014-12-01

Caffe数据集:CIFAR10之一

Caffe运行例程前需要下载的数据集,共6个文件,总大小180MB,分三次上传,这是第一个。

2014-12-01

ZED Board从入门到精通系列(八) Vivado HLS实现矩阵相乘工程文件

ZED Board从入门到精通系列(八) Vivado HLS实现矩阵相乘的工程代码

2014-01-29

ZED-Board从入门到精通系列(六)——Vivado+OpenRISC建立工程时修改过的源码

ZED-Board从入门到精通系列(六)——Vivado+OpenRISC建立工程时修改过的源码

2014-01-26

ZED-Board从入门到精通系列(六)——Vivado+OpenRISC工程源码

Zynq从入门到精通系列教程所需工程文件,可以作为模板进行二次开发

2014-01-26

OpenRISC源码

未做修改的OpenRISC源码,可以用于学习CPU架构和指令集系统

2014-01-26

实验例程:ZED-Board从入门到精通(三):从传统ARM开发到PS开发的转变

PS利用EMIO控制板上LD0~LD7实现流水灯,具体实验步骤请看http://blog.csdn.net/kkk584520/article/details/9993281

2013-08-16

资源:ZED-Board从入门到精通(一):ZYNQ结构简介

博客文章http://blog.csdn.net/kkk584520/article/details/9870681 相应参考资料,包括ZYNQ-7000 Overview,ZYNQ PCB设计指南,ZED-Board使用说明、原理图、PCB

2013-08-10

毕业设计:代码

这个是历经2个月,两次大规模改动,数十次小规模升级,最终成功运行的程序。 硬件平台就是TMS320VC5509 没有操作系统 除SD卡部分调用TI的CSL,所有代码均为独立开发 如果用于商业用途,请与作者联系,否则造成一切事故概不负责

2011-10-13

毕业设计TMS320VC5509板子原理图

搞硬件的,都应该知道Altium Designer 这个是AD9生成的pdf 你懂得 有了这个才能看代码 代码请另外下载 绝对超值 谢谢合作

2011-10-13

正式发布:TMS320VC5509A上的无需CSL库的USB底层程序!

先声明:本底层程序为原创,谢绝转载!如需使用请与作者说明!翻版必究! 其次说一声,咱学DSP要发扬艰苦奋斗精神,要自己试着从头开始。不要仅仅停留在使用官方的库,而要深挖下去,挖到水为止。 再次说明:经过对比,使用官方库编译完后代码利用率很低,占用空间极大!我的一个小小系统编译完占32KB!!!!无法忍受,于是脱离CSL芯片支持库,坚持自己手动配置register,编译完后,代码缩减近一半,仅占16K多。 作者:kkk 日期:2011-5-12 欢迎访问我发的首帖http://bbs.dspoz.com/viewthread.php?tid=1326

2011-05-13

数字通信原理仿真——2PSK调制仿真

本人电子信息工程专业,课程设计为数字通信原理仿真,用MFC实现2PSK调制。图片可以见我的博客http://hi.csdn.net/space-154399-do-album-id-50238.html

2010-07-16

PCB设计终极目标---封装,布局,走线,覆铜

正确设计PCB是硬件设计的基础,如何完成PCB设计,其终极目标是什么,将在这里得以解释。 在此展示一个PCB的最终产品的光绘图,相信电子工程师都会从中得到启示。

2010-05-19

ARM内核介绍(强烈推荐!!!!!!!)

详细讲述了ARM内核,从ARM7到ARM11都有

2010-03-29

空空如也

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

TA关注的人

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