自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LSTM 优化之路

本文首发于滴滴云公众号:https://mp.weixin.qq.com/s/H0AKuKn1XQDEa06jDm3Nug导读谈到神经网络,相信是当下比较火的一个词。它的发展不是一蹴而就,而是通过各代人的智慧,经过一次一次的优化,迭代才慢慢建立起当下的各种网络结构,从最简单的 MLP,到 CNN,RNN,再到增强网络,对抗网络。每一种网络结构的诞生,都是为了解决某一类特定场景的问题。本文中涉及的 ...

2018-07-11 11:01:21 26257 6

原创 FPGA 那些事儿之异构计算

FPGA 那些事儿之异构计算FPGA 那些事儿之异构计算简介FPGA 概览传统 FPGA 开发传统 FPGA 与软件开发对比传统 FPGA 开发方式基于 OpenCL 的 FPGA 开发OpenCL 是个 whatOpenCL 案例分析采用 CPU 模拟仿真 FPGAFPGA 设备上运行矩阵乘小结简介对于一个软件开发人员,可能听说过 FPGA,甚至在大学课程设计中,可能拿FPG

2016-09-28 14:26:48 15015 22

原创 Ubuntu-14.04 安装 R 语言开发环境

R 简介R 环境R 安装R 简介R 是一种统计计算和图表的编程语言和编程环境。它是和 S 语言相似的 GNU 项目,由 Bell 实验室 John Chambers 和 colleagues 开发。R 可以考虑是 S 语言的一种不同的实现,他们之间有一些重要的不同点,但是大部分的 S 语言代码可以在 R 语言下运行。R 提供了一种广泛的统计和图表技术(线性,非线性模型,经典统计测试,时间序列分析

2015-02-25 18:09:23 6794 1

原创 阿里集团2015实习生招聘内部推荐

阿里集团2015实习生招聘内部推荐 阿里集团2015实习生招聘内部推荐已经启动,欢迎大家把简历发送给我,我可以帮忙内推,只要你够优秀,就放心的把简历发给我吧。搜寻目标2016年及以后毕业的应届生(本科及以上学历者):毕业时间以毕业证时间为准适合研发工程师、算法工程师、测试开发工程师、客户端开发工程师、系统工程师、安全工程师、数据分析师、数据挖掘工程师、数据研发工程师、前端开发工程师、交互设

2015-02-14 11:54:57 1970

翻译 卷积神经网络的并行化模型——One weird trick for parallelizing convolutional neural networks

前段时间一直在关注 CNN 的实现,查看了 caffe 的代码以及 convnet2 的代码。目前对单机多卡的内容比较感兴趣,因此特别关注 convnet2 关于 multi-GPU 的支持。其中 cuda-convnet2 的项目地址发布在:Google Code:cuda-convnet2关于 multi-GPU 的一篇比较重要的论文就是:One weird trick for parallelizing convolutional neural networks本文也将针对这篇文章给出分析。

2015-01-06 11:34:07 13973 4

原创 GPU 编程入门到精通(五)之 GPU 程序优化进阶

博主由于工作当中的需要,开始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程,因此在这里特地学习一下 GPU 上面的编程。有志同道合的小伙伴,欢迎一起交流和学习,我的邮箱: <[email protected]> 。使用的是自己的老古董笔记本上面的 Geforce 103m 显卡,虽然显卡相对于现在主流的系列已经非常的弱,但是对于学习来说,还是可以用的。本系列博文也遵从由简单到复杂,记录自己学习的过程。

2014-10-23 17:22:37 9812 1

原创 GPU 编程入门到精通(四)之 GPU 程序优化

博主由于工作当中的需要,开始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程,因此在这里特地学习一下 GPU 上面的编程。有志同道合的小伙伴,欢迎一起交流和学习,我的邮箱: [email protected] 。使用的是自己的老古董笔记本上面的 Geforce 103m 显卡,虽然显卡相对于现在主流的系列已经非常的弱,但是对于学习来说,还是可以用的。本系列博文也遵从由简单到复杂,记录自己学习的过程。

2014-10-21 15:48:59 9429 2

原创 GPU 编程入门到精通(三)之 第一个 GPU 程序

博主由于工作当中的需要,开始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程,因此在这里特地学习一下 GPU 上面的编程。有志同道合的小伙伴,欢迎一起交流和学习,我的邮箱:[email protected] 。使用的是自己的老古董笔记本上面的 Geforce 103m 显卡,虽然显卡相对于现在主流的系列已经非常的弱,但

2014-10-20 21:31:43 43601 1

原创 通过 Perf 对 OpenSSL 中 RSA 加密解密进行性能分析

1、测试用例:rsa_test.c#include #include #include #include #include #include #define OPENSSL_KEY "./2048.pem"#define PUBLIC_KEY "./2048_pub.pem"#define BUFFER_SIZE 2048char* my_encrypt(char *s

2014-07-20 18:38:59 3726

原创 OpenSSL 中 RSA 加密解密实现源码分析

1、RSA 公钥和私钥的组成,以及加密和解密的公式:2、模指数运算:先做指数运算,再做模运算,如 5^3 mod 7 = 125 mod 7 = 63、RSA加密算法流程:选择一对不同的、并且足够大的素数 p 和 q计算 n = p * q计算欧拉函数 f(n) = (p-1) * (q-1),p 和 q 需要保密寻找与 f(

2014-07-13 19:13:07 6569 1

原创 利用 PlxSdk 工具包开发 Linux 下 PCI 设备驱动

最近实验室需要做一个 Linux 与 FPGA 之间的快速接口,考虑高速的特性,选择了 PCI 接口实现。FPGA 选择 altera 的 EP2C20F484C8PCI 接口芯片选择 PLX8311操作系统选择 ubuntu10.041、Linux 检测 PCI将板卡插入到主机 PCI 插槽内,开机,通过 lspci 命令可以检测到当前系统下所有的 PCI 设备。

2014-06-19 13:31:06 8989 1

原创 Ubuntu 之间通过 VNC 远程访问

最近在使用Linux的过程中,为了方便,需要通过我的笔记本访问别的一台安装了 Ubuntu 的机器,方便起见,直接用了图形化远程登录,其中需要用到的就是 VNC。它的配置过程分为两部分,服务器端(另一台机器),客户端(我的笔记本)。服务器端:安装VNC服务程序:$ sudo apt-get install vnc4server给当前用户设置v

2014-06-09 17:25:40 1309

原创 C 语言写的爱情诗歌

/* ************************************************ File Name: Love.c***** Description: Love Story about you and me***** Author: JPing.Cai***** Date: 2014-5-10***** Last Version: 1.0* *******

2014-05-10 16:07:13 2676 1

原创 Ubuntu12.04 之 CUDA 编程 (二) ~~~ GPU 程序加速

关于 Ubuntu12.04 下 CUDA5.5 的安装请参看如下链接Ubuntu-12.04 安装 CUDA-5.5关于 Ubuntu12.04 下 CUDA5.5 程序的运行请参看如下链接Ubuntu12.04 之 CUDA 编程 (一) ~~~ GPU 运行程序1、程序的并行化前一篇文章讲到了如何利用 CUDA5.5 在 GPU 中运行一个程序。通过程序的

2014-05-07 14:54:04 4842 1

原创 GPU 编程入门到精通(二)之 运行第一个程序

博主由于工作当中的需要,开始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程,因此在这里特地学习一下 GPU 上面的编程。有志同道合的小伙伴,欢迎一起交流和学习,我的邮箱: [email protected] 。使用的是自己的老古董笔记本上面的 Geforce 103m 显卡,虽然显卡相对于现在主流的系列已经非常的弱,但是对于学习来说,还是可以用的。本系列博文也遵从由简单到复杂,记录自己学习的过程。

2014-04-21 22:06:20 23790 5

原创 GPU 编程入门到精通(一)之 CUDA 环境安装

博主由于工作当中的需要,开始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程,因此在这里特地学习一下 GPU 上面的编程。有志同道合的小伙伴,欢迎一起交流和学习,我的邮箱: [email protected] 。使用的是自己的老古董笔记本上面的 Geforce 103m 显卡,虽然显卡相对于现在主流的系列已经非常的弱,但是对于学习来说,还是可以用的。本系列博文也遵从由简单到复杂,记录自己学习的过程。

2014-04-11 21:14:19 44902

原创 Redis源码学习——字典

字典在Redis中应用十分广泛,它是实现数据库的基础,特别的它是数据库键空间的实现方式,因此非常必要研究透彻字典的构建。1、散列方法也就是hash方法。思想:根据节点的关键码值确定存储地址。核心:散列函数。原理:对于任意给定的查找表 DL,选定“理想”的散列函数 h 及相应的散列表 HT ,则对于 DL 中每个元素 X ,函数值 h(X.key) 为 X 在

2014-03-17 14:24:37 1568

原创 Redis源码学习——双端链表

双端链表在Redis中的地位:它作为一种通用数据结构,在Redis的内部使用非常多。是Redis列表结构的底层实现之一,也被大量Redis模块使用,用于构建其他功能。1、双端链表的定义Redis双端列表的定义可以参看 adlist.h 和 adlist.c 两个文件。与双链表定义一致,引入了链表节点,并在此基础上增加头尾节点构建双端链表。链表节点如下定义:/

2014-03-14 17:32:52 1322

原创 Redis源码学习——简单动态字符串SDS(Simple Dynamic String)

前两天听了学长们的交流会,偶尔接触到了redis,考虑到redis只有2W多行代码,感觉代码量不是很大,所以决心看看他的源代码。        由于刚刚接触redis,所以就跟着大牛的文章一步一步的学下去了。        打算按照《Redis 设计与实现》http://www.redisbook.com/en/latest/#id1 这本书慢慢的学下去,希望今天是一个良好的起点。

2014-03-13 17:25:12 2436 1

原创 两个精巧的算法

1、计算一个二进制数中1的个数如给定一个整型数 x = 10,它的二进制表达式是(1010)B,题意就是计算出x的二进制表示中一的个数是2。分析如下:如果将x转化为二进制,就可以计算出1的个数了,此时复杂度是o(log n)的,复杂度还可以。int func(int x){ int count = 0; while(x){ if(x%2 == 1) count++; x

2014-03-03 14:53:38 1354

原创 Java——协变数组和类型擦除(covariant array & type erasure)

1、数组的协变性数组的协变性(covariant)是指:如果类Base是类Sub的基类,那么Base[]就是Sub[]的基类。而泛型是不可变的(invariant),List不会是List的基类,更不会是它的子类。数组的协变性可能会导致一些错误,比如下面的代码:public static void main(String[] args) { Object[] ar

2014-01-08 21:38:47 3381 1

原创 Tiny6410杂项设备驱动之——led驱动

1、硬件设备GPIO:英文全称为General-Purpose IO ports,也就是通用IO口。嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。对这些设备/电路的控制,使用传统的串行口或并行口都不合适。所以在微控制

2013-12-09 16:02:20 1245

原创 ubuntu下为Tiny6410搭建nfs服务器

1、开发环境服务器端:ubuntu12.04客户机端:tiny6410(arm11)2、服务器端安装NFS服务器使用以下命令安装nfs服务器程序软件包,在命令执行过程中,默认启动SUNRPC服务和nfs服务,并创建/etc/exports和、etc /default/nfs-kernel-server配置文件,等待用户完成nfs安装后,配置将要共享的资源。

2013-12-09 14:19:24 1347

原创 Tiny6410内核模块编译之helloworld

由于项目,需要自己编译内核驱动,但是考虑到编译内核比较麻烦,而且需要重新烧写系统,不是很方便,所以研究了一下通过模块的方式加载驱动。用一个 helloworld的程序说明一下整个流程,记下来,以便以后查阅。编译环境说明:主机操作系统:ubuntu12.04编译的linux内核:linux-2.6.38嵌入式系统:tiny6410一、编译zImage        在编译

2013-12-06 21:23:37 1885

原创 X86控制寄存器和系统地址寄存器+实模式和保护模式

80386控制寄存器和系统地址寄存器如下表所示。它们用于控制工作方式,控制分段管理机制及分页管理机制的实施。控  制寄存器CRxBIT31BIT30—BIT12BIT11—BIT5BIT4BIT3BIT2BIT1BIT0CR0

2013-12-02 17:30:16 3299 2

原创 GCC内嵌AT&T汇编语法

一 基本语法1 寄存器引用引用寄存器要在寄存器号前加百分号%,如“movl %eax, %ebx”。 80386有如下寄存器:1、8个32-bit寄存器 %eax,%ebx,%ecx,%edx,%edi,%esi,%ebp,%esp; 2、8个16-bit寄存器,它们事实上是上面8个32-bit寄存器的低16位:%ax,%bx,%cx,%dx,%di,%si,%bp,%

2013-12-01 22:43:56 4236

原创 Linux内核--内核数据类型

将linux 移植到新的体系结构时,开发者遇到的若干问题都与不正确的数据类型有关。坚持使用严格的数据类型和使用 -Wall -Wstrict-prototypes 进行编译可能避免大部分的 bug。-Wall显示所有的警告-Wstrict-prototypes严格的检测原型,如果不一致,则出现警告内核数据使用的数据类型主要分为3个类型

2013-11-18 22:38:30 2212

原创 Tiny6410声卡驱动——录音与回放

在Linux下,音频设备程序的实现与文件系统的操作密切相关。Linux将各种设备以文件的形式给出统一的接口,这样的设计使得对设备的编程与对文件的操作基本相同,对Linux内核的系统调用也基本一致,从而简化了设备编程。         如何对各种音频设备进行操作是在Linux上进行音频编程的关键,通过内核提供的一组系统调用,应用程序能够访问声卡驱动程序提供的各种音频设备接口,这是在Linux下进

2013-11-17 19:52:39 1663

原创 Linux操作系统下的多线程编程详细解析

使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远

2013-11-15 15:34:25 1298

原创 gcc基本指令+gdb调试

-o生成指定名字可执行文件    gcc hello.c -o hello-c只编译,生成.o目标文件    gcc -c hello.c-g产生调试工具gdb所必要的符号信息    gcc -g hello.c -o hello-O对程序进行优化编译、链接,可提高编译、链接速度-O2优化更加彻底,不过编译时间更长-I

2013-11-14 21:03:05 1298

原创 linux下tar.gz、tar、bz2、zip等命令小结

Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:   tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面 来举例说明一下:        # tar -cf all.tar *.jpg

2013-11-14 20:57:08 1336

原创 win7下建立与linux文件共享——samba

SambaSamba是Ubuntu和Windows进行网络共享的工具,比如分享打印机,互相之间传输资料文件。[编辑 ] 安装Samba安装sambasudo apt-get install samba[编辑 ] 配置1.windows 访问 ubuntu第一步创建共享目录: 比如要创建/home/用户名/share首先创建这个文件夹

2013-11-12 14:16:40 2558

原创 tiny6410的Linux系统修改IP地址

Linux系统启动时执行了\etc\init.d\ifconfig-eth0脚本,这个ifconfig-eth0脚步会查找/etc下是否存在eth0-setting文件,如果有则执行"source eth0-setting",使用其中配置的IP,如果没有找到这个文件则使用默认的192.168.1.230。所以只要修改/etc/eth0-setting中的IP地址即可。修改以

2013-11-06 19:20:28 1815

原创 JSTL标签

来源jsp中有大量java片段jsp中html标签+jsp标签+java片段提出把java片段用标签替换C标签标签最常用的标签,用于在 JSP 中显示数据c:out value="hello world" >c:out>h1> 如何输出request/sess

2013-10-28 14:57:05 1012

原创 win7系统MySQL-5.0.18安装图解

用的可执行文件的方式安装。打开下载的mysql安装文件mysql-5.0.18-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面mysql安装向导启动,按“Next”继续 选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,用来熟悉安装过程:

2013-10-23 22:54:02 5758

原创 Request和Session的区别

说简单点 request对象和session对象的最大区别是生命周期。requestrequest范围较小一些,只是一个请求。request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请求完毕之后,request里边的内容也将被释放点 。简单说就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url、

2013-10-21 15:01:25 15940 2

原创 MVC模型之用户登录系统

1、什么是MVC模型2、用户登录系统的MVC模型3、用户登录系统详解3.1 登录界面 login.jsp它主要完成用户登录界面,只是完成MVC中的V(view),也就是他只完成登录界面。当提交登录按钮以后,把用户验证交给一个servlet去完成,因servlet的效率较高。跳转的servlet通过loginClServlet完

2013-10-17 12:26:12 2383 1

原创 MyEclipse+tomcat开发环境配置

配置使用1、建立工程2、新建JSP文件解决中文问题 page language= "java" import ="java.util.*" pageEncoding="gbk" %>3

2013-10-15 16:41:32 1200

原创 Servlet+Tomcat 界面登录

1、文件夹建立(必须按照这个规范,文件名和文件夹名必须一致)a、在%TOMCAT_HOME%\webapps下建立一个文件夹,取名MyWebsitb、在MyWebsit文件夹下新建WEB_INF文件夹c、在WEB_INF文件夹下建立classes文件夹以及web.xml(网络配置文件)2、开发servleta、引入servlet-api.

2013-10-11 20:07:50 1833

原创 java+socket 简易聊天工具

1、服务器端程序package com.test3;import java.io.*;import java.net.*;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;public class MyServer3 extends JFrame implem

2013-10-10 21:55:35 2795

C语言名题精选百则 技巧篇_冼镜光编著

C语言名题精选百则 技巧篇_冼镜光编著 里面的例题讲的非常的详细,适合看看,对提高思路有帮助

2013-11-29

linux内核分析及编程_倪继利.pdf

linux内核分析及编程,倪继利编,书本结合代码,讲的比较详细。

2013-11-19

GCC手册.chm

GCC手册,包含英文和中文手册、gcc参数详解、gcc使用简介、gcc使用指南、makefile全攻略、gcc最佳编译参数、gcc内部探秘、makefile文件的格式与用法

2013-11-19

UNIX环境高级编程——第二版中文

UNIX环境高级编程——第二版中文,适合深入的去看看。

2013-11-11

Linux C 编程

Linux C语言编程,比较适合入门,学过C语言的可以拿来熟悉一下Linux下C编程的流程。

2013-11-11

mysql-5.0.18-win32.zip安装包

mysql-5.0.18-win32.zip 安装包

2013-10-23

Qt文本加密

Qt编写的文本加密解密器,可以实现文本编辑器的功能,同时具有加密解密功能。加密基于RC4方法。

2013-07-09

QuartusII中_SignalTapⅡ逻辑分析仪的使用

QuartusII中_SignalTapⅡ逻辑分析仪的使用。学习如何使用signalTap,实现FPGA的在线调试。

2012-08-18

FPGA实现DDS原理资料

FPGA实现DDS的原理。包括如何选择时钟频率,如何确定分辨率,相位累加器如何实现等等。

2012-08-18

空空如也

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

TA关注的人

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