Visual Studio 2013、TortoiseSVN、TortoiseGit、msysgit编译Tesseract(tesseract-ocr)

开篇提示:本文为本人原创,本文欢迎转载,但必须注明本文出处,例如。
“该文引用自 CruiseYoung的:Visual Studio 2013、TortoiseSVN、TortoiseGit、msysgit编译Tesseract(tesseract-ocr)
http://blog.csdn.net/fksec/article/details/32714639”
否则说明阁下愿意支付以100元人民币每字计的稿费,敬请留意。

0 Tesseract(tesseract-ocr)的使用

使用见:《Tesseract(tesseract-ocr)在Visual Studio 2013中的使用》一文: http://blog.csdn.net/fksec/article/details/37598479

1 前期准备

1.1 源码下载软件:
Git Extensions:http://sourceforge.net/projects/gitextensions/
msysgit - Git for Windows:http://msysgit.github.com/
TortoiseGit:http://download.tortoisegit.org/tgit/
TortoiseSVN:http://tortoisesvn.net/
1.2 源码主页地址:
tesseract:https://code.google.com/p/tesseract-ocr/
           https://github.com/svn2github/Tesseract
tesseract-vs2013:https://github.com/charlesw/tesseract-vs2012

2 源码下载

2.1 创建“tesseract-build”目录,并切换到“tesseract-build”目录:
2.2 用“TortoiseGit”下载“tesseract-vs2013”,当然也可从以下地址用“Download ZIP”下载:
地址:https://github.com/charlesw/tesseract-vs2012
注1:该地址来源于:“TutorialSlides.tar”文件包中的“4Downloading.pdf”文件的“第3页”;
注2:安装“TortoiseGit”前,先安装“msysgit”;
2.3 用“TortoiseSVN”下载“tesseract”,由于采用了SVN下载模式,里面包括了所以语言的“tessdata”,整个源码有“1.27G”之巨:
地址:http://tesseract-ocr.googlecode.com/svn/trunk/
直接(最新)下载地址:https://drive.google.com/folderview?id=0B7l10Bj_LprhQnpSRkpGMGV2eE0&usp=sharing  不包括“tessdata”

3 编译准备(一)

3.1 点击“开始”-->"所有程序"-->"Visual Studio 2013"-->"Visual Studio Tools"-->"VS2013 x64 本机工具命令提示"
3.2 切换到目录:
cd tesseract-vs2012
3.3 编译:
msbuild build.proj

4 编译准备(二)

4.1 切换到"tesseract-build"目录:
4.2 字符集问题:用“Notepad++”打开以下文件,特别是“tesseract-build\tesseract-ocr\ccmain\equationdetect.cpp”文件,在菜单“格式”中选择“以UTF-8格式编码”,保存。注意,不要用“转为UTF-8编码格式”!
tesseract-build\tesseract-ocr\ccmain\equationdetect.cpp
tesseract-build\tesseract-ocr\ccstruct\linlsq.cpp
4.3 点击“tesseract-ocr”-->右键“TortoiseSVN”-->“应用补丁”-->选择“.\tesseract-vs2012\vs2013+64bit_support.patch”-->“打开”-->“用原始的路径”-->“修补全部项目(A)”,
此时“tesseract-build\tesseract-ocr”目录下增加了“vs2013”目录。
4.4 拷贝"include"和"lib":
将“.\tesseract-vs2012\release”目录下的所有文件,直接拷贝到“tesseract-build”目录;
4.5 用“Visual Studio 2013”打开“tesseract-build\tesseract-ocr\vs2013\tesseract.sln”;
4.6 解决“无法打开文件‘liblept170d.lib’”问题:
tesseract工程-->属性-->连接器-->常规:
配置:选择"DLL_Debug";平台:选择"所有平台"
将“附加库目录”项中的“..\..\..\lib;”改为“..\..\..\lib\$(Platform);”
4.7 “OpenCL”支持:即解决“无法打开包括文件: ‘CL/cl.h’”问题
4.7.1 tesseract工程-->属性-->连接器-->常规:
配置:选择"LIB_OpenCL_Release";
4.7.1.1 平台:选择"Win32"
将“附加库目录”项中的
“$(AMDAPPSDKROOT)\lib\x86;$(INTELOCLSDKROOT)\lib\x86;”
改为
“$(AMDAPPSDKROOT)\lib\x86;$(INTELOCLSDKROOT)\lib\x86;$(NVSDKCUDA_ROOT)\lib\$(PlatformName);”
4.7.1.2 平台:选择"x64"
将“附加库目录”项中的
“$(AMDAPPSDKROOT)\lib\x86;$(INTELOCLSDKROOT)\lib\x86;”
改为
“$(AMDAPPSDKROOT)\lib\x86_64;$(INTELOCLSDKROOT)\lib\x64;$(NVSDKCUDA_ROOT)\lib\$(PlatformName);”
4.7.2 tesseract工程-->属性-->“C/C++”-->常规:
配置:选择"LIB_OpenCL_Release";平台:选择"所有平台"
在“附加包含目录”项中增加“$(NVSDKCUDA_ROOT)\include”
4.7.3 libtesseract303工程-->属性-->“C/C++”-->常规:
配置:选择"LIB_OpenCL_Release";平台:选择"所有平台"
在“附加包含目录”项中增加“$(NVSDKCUDA_ROOT)\include”
4.7.4 根据您机器的显卡安装对应供应商的SDK,请注意“系统平台”的选择
4.7.4.1 AMD ATI显卡:
AMD APP SDK
http://developer.amd.com/tools-and-sdks/opencl-zone/opencl-tools-sdks/amd-accelerated-parallel-processing-app-sdk/
4.7.4.2 NVIDIA显卡:
NVIDIA CUDA
http://www.nvidia.com/object/cuda_home_new.html
直接下载页面:
https://developer.nvidia.com/cuda-downloads
注:块头非常大,有1.08G之巨,如果只是编译的话,建议选择AMD ATI显卡的驱动代替,依据如下:
根据《在Windows下使用OpenCL》:http://blog.csdn.net/qpc411074777/article/details/8034263 一文中的提示,AMD和NVIDIA显卡安装其一即可。
4.7.4.3 Intel显卡:
Intel SDK for OpenCL
https://software.intel.com/en-us/vcsource/tools/opencl-sdk
直接下载页面,同时下载“Intel SDK for OpenCL Applications”和“Drivers/Runtime Support”:
https://makebettercode.com/opencl/receipt.php?language=english&id=53a3e7f703176
注1:先安装“Drivers/Runtime Support”,再安装“Intel SDK for OpenCL Applications”;
注2:参考:OpenCL™ Drivers and Runtimes for Intel® Architecture
https://software.intel.com/en-us/articles/opencl-drivers
4.7.5 添加环境变量(以Windows 7为例):
"桌面"-->“计算机”-->“高级系统设置”-->“高级”选项卡-->“环境变量”-->“系统变量(s)”-->“新建”;
在“新建系统变量”框中,根据5.4节所安装的显卡SDK填入对应内容(如下),一直点击“确定”,最后重启。
4.7.5.1 AMD ATI显卡:
变量名(N):AMDAPPSDKROOT
变量值(V):C:\Program Files (x86)\AMD APP SDK\2.9
4.7.5.2 NVIDIA显卡:
变量名(N):NVSDKCUDA_ROOT
变量值(V):C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.0
4.7.5.3 Intel显卡:
变量名(N):INTELOCLSDKROOT
变量值(V):C:\Program Files (x86)\Intel\OpenCL SDK\4.4

5 编译

5.1 直接用“Visual Studio 2013”编译--别说您不会哦
5.2 切换到“tesseract-build”目录:命令如下:
cd /d F:\迅雷下载\tesseract-ocr\tesseract-3.03-rc1\tesseract-build
5.3 新建tesseract库目录:本例以“D:\comm\tesseract”目录为目的,并新建“bin”、“include”、“lib”子目录;命令如下:

mkdir D:\comm  
mkdir D:\comm\tesseract
mkdir D:\comm\tesseract\include
mkdir D:\comm\tesseract\lib
mkdir D:\comm\tesseract\bin
5.4 头文件提取;根据“tesseract-3.02.02-win32-lib-include-dirs.zip”文件以及“tesseract-build\tesseract-ocr\vs2008\tesshelper.py”的内容分析,我们将拷贝以下目录的同名文件;
“tesseract-build\tesseract-ocr\api”目录:
apitypes.h
baseapi.h
capi.h
renderer.h
“tesseract-build\tesseract-ocr\ccmain”目录:
ltrresultiterator.h
pageiterator.h
resultiterator.h
thresholder.h
“tesseract-build\tesseract-ocr\ccstruct”目录:
publictypes.h
“tesseract-build\tesseract-ocr\ccutil”目录:
basedir.h
errcode.h
fileerr.h
genericvector.h
helpers.h
host.h
memry.h
ndminx.h
params.h
platform.h
serialis.h
strngs.h
tesscallback.h
unichar.h
unicharmap.h
unicharset.h
“tesseract-build\tesseract-ocr\vs2013\include”目录:(注意:要与您编译的VS版本配对)
leptonica_versionnumbers.props
tesseract_versionnumbers.props
“tesseract-build\include”目录及“tesseract-build\include\leptonica”目录:
所有文件
命令如下:

mkdir D:\comm  
mkdir D:\comm\tesseract
mkdir D:\comm\tesseract\include

mkdir D:\comm\tesseract\include\tesseract
mkdir D:\comm\tesseract\include\tesseract\vs2013
mkdir D:\comm\tesseract\include\tesseract\vs2013\include

copy /Y tesseract-ocr\api\apitypes.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\api\baseapi.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\api\capi.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\api\renderer.h D:\comm\tesseract\include\tesseract

copy /Y tesseract-ocr\ccmain\ltrresultiterator.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccmain\pageiterator.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccmain\resultiterator.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccmain\thresholder.h D:\comm\tesseract\include\tesseract

copy /Y tesseract-ocr\ccstruct\publictypes.h D:\comm\tesseract\include\tesseract

copy /Y tesseract-ocr\ccutil\basedir.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\errcode.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\fileerr.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\genericvector.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\helpers.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\host.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\memry.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\ndminx.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\params.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\platform.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\serialis.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\strngs.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\tesscallback.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\unichar.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\unicharmap.h D:\comm\tesseract\include\tesseract
copy /Y tesseract-ocr\ccutil\unicharset.h D:\comm\tesseract\include\tesseract

copy /Y tesseract-ocr\vs2013\include\leptonica_versionnumbers.props D:\comm\tesseract\include\tesseract\vs2013\include
copy /Y tesseract-ocr\vs2013\include\tesseract_versionnumbers.props D:\comm\tesseract\include\tesseract\vs2013\include

xcopy /E /H /R include\* D:\comm\tesseract\include
xcopy /E /H /R include\leptonica\* D:\comm\tesseract\include\leptonica
5.5 库文件提取:在“tesseract-build\tesseract-ocr\vs2013\bin”目录下;命令如下:

mkdir D:\comm  
mkdir D:\comm\tesseract
mkdir D:\comm\tesseract\lib

mkdir D:\comm\tesseract\lib\Win32
mkdir D:\comm\tesseract\lib\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Debug\*.lib D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Debug\*.exp D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Debug\*.pdb D:\comm\tesseract\lib\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Release\*.lib D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Release\*.exp D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Release\*.pdb D:\comm\tesseract\lib\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Debug\*.lib D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Debug\*.exp D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Debug\*.pdb D:\comm\tesseract\lib\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Release\*.lib D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Release\*.exp D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Release\*.pdb D:\comm\tesseract\lib\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_OpenCL_Release\*.lib D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_OpenCL_Release\*.exp D:\comm\tesseract\lib\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_OpenCL_Release\*.pdb D:\comm\tesseract\lib\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Debug\*.lib D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Debug\*.exp D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Debug\*.pdb D:\comm\tesseract\lib\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Release\*.lib D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Release\*.exp D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Release\*.pdb D:\comm\tesseract\lib\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Debug\*.lib D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Debug\*.exp D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Debug\*.pdb D:\comm\tesseract\lib\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Release\*.lib D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Release\*.exp D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Release\*.pdb D:\comm\tesseract\lib\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_OpenCL_Release\*.lib D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_OpenCL_Release\*.exp D:\comm\tesseract\lib\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_OpenCL_Release\*.pdb D:\comm\tesseract\lib\x64

xcopy /E /H /R lib\Win32\*.lib D:\comm\tesseract\lib\Win32
xcopy /E /H /R lib\x64\*.lib D:\comm\tesseract\lib\x64
5.6 执行文件提取:(包括dll文件)在“tesseract-build\tesseract-ocr\vs2013\bin”目录下;命令如下:

mkdir D:\comm  
mkdir D:\comm\tesseract
mkdir D:\comm\tesseract\lib

mkdir D:\comm\tesseract\bin\Win32
mkdir D:\comm\tesseract\bin\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Debug\*.exe D:\comm\tesseract\bin\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Debug\*.dll D:\comm\tesseract\bin\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Release\*.exe D:\comm\tesseract\bin\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\DLL_Release\*.dll D:\comm\tesseract\bin\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Debug\*.exe D:\comm\tesseract\bin\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Debug\*.dll D:\comm\tesseract\bin\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Release\*.exe D:\comm\tesseract\bin\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_Release\*.dll D:\comm\tesseract\bin\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_OpenCL_Release\*.exe D:\comm\tesseract\bin\Win32
xcopy /E /H /R tesseract-ocr\vs2013\bin\Win32\LIB_OpenCL_Release\*.dll D:\comm\tesseract\bin\Win32

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Debug\*.exe D:\comm\tesseract\bin\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Debug\*.dll D:\comm\tesseract\bin\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Release\*.exe D:\comm\tesseract\bin\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\DLL_Release\*.dll D:\comm\tesseract\bin\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Debug\*.exe D:\comm\tesseract\bin\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Debug\*.dll D:\comm\tesseract\bin\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Release\*.exe D:\comm\tesseract\bin\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_Release\*.dll D:\comm\tesseract\bin\x64

xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_OpenCL_Release\*.exe D:\comm\tesseract\bin\x64
xcopy /E /H /R tesseract-ocr\vs2013\bin\x64\LIB_OpenCL_Release\*.dll D:\comm\tesseract\bin\x64

xcopy /E /H /R lib\Win32\*.exe D:\comm\tesseract\bin\Win32
xcopy /E /H /R lib\Win32\*.dll D:\comm\tesseract\bin\Win32

xcopy /E /H /R lib\x64\*.exe D:\comm\tesseract\bin\x64
xcopy /E /H /R lib\x64\*.dll D:\comm\tesseract\bin\x64

6 参考文档

6.1 tesseract-build\tesseract-vs2012\README.md;
6.2 “TutorialSlides.tar”文件包中的“4Downloading.pdf”文件,以及“tesseract-tutorial-demos.tar.gz”
下载地址:https://drive.google.com/folderview?id=0B7l10Bj_LprhQnpSRkpGMGV2eE0&usp=sharing
6.3 “tesseract-build\tesseract-ocr\vs2008\doc”目录内的文档
Setting up Tesseract-OCR — Visual Studio 2008 Developer Notes for Tesseract-OCR
http://tesseract-ocr.googlecode.com/svn/trunk/vs2008/doc/setup.html#using-the-latest-tesseractocr-sources
Building Tesseract-OCR — Visual Studio 2008 Developer Notes for Tesseract-OCR
http://tesseract-ocr.googlecode.com/svn/trunk/vs2008/doc/building.html
Handy free tools — Visual Studio 2008 Developer Notes for Tesseract-OCR
http://tesseract-ocr.googlecode.com/svn/trunk/vs2008/doc/tools.html
Maintaining the VS2008 directory — Visual Studio 2008 Developer Notes for Tesseract-OCR
http://tesseract-ocr.googlecode.com/svn/trunk/vs2008/doc/maintenance.html
Visual Studio 2010 Notes — Leptonica Documentation v1.68 documentation
http://tpgit.github.io/UnOfficialLeptDocs/vs2008/vs2010-notes.html
6.4 How to build Tesseract 3.03 with Visual Studio 2013 | vorba.ch
http://vorba.ch/2014/tesseract-3.03-vs2013.html
6.5 tesseract4java/tesseract-vs2013
https://github.com/tesseract4java/tesseract-vs2013
6.6 MSBuild 命令行参考
http://msdn.microsoft.com/zh-cn/library/ms164311.aspx
6.7 在 Windows 下使用 OpenCL_南冠彤
http://blog.sina.com.cn/s/blog_4ae178ba01012vxu.html
6.8 AMD GPU+VS2010的OpenCL配置_追梦人_小山
http://blog.sina.com.cn/s/blog_7e2e98ad0101cwr1.html
6.9 解决方案:无法打开包括文件:“CL/cl.h”: No such ...
http://tieba.baidu.com/p/1748091580
6.10 OpenCL编程环境配置
http://tieba.baidu.com/p/1393401965

7 扩展一:tesseract.exe 的使用

tesseract FileFullPath outputBase [-l lang] [-psm pagesegmode] [configfile....]
FileFullPath:      图像文件的全路径
outputBase:       输出的txt 文件的路径和名称,不包含后缀名
-l lang:                 指定语言包 -l eng(英文) -l chi_sim(中文简体)
pagesegmode Values:
0:仅仅按照方向进行脚本检测
1:自动页面剪切,并进行按方向脚本检测
2:自动页面剪切,但是不进行按方向脚本检测,不进行识别
3:全自动页面剪切,但是不按方向进行脚本检测(default)
4:假设一栏文本时可变大小
5:假设一个单一的均匀块垂直对齐的文本
6:假设一个单一的均匀块文本
7:把图像作为一个单一的文本行
8:把图像作为一个单独的词
9:把图像作为一个词在一个圆圈里
10:把图像作为一个单独的字符

8 扩展二:AMD OpenCL大学课程

AMD OpenCL大学课程是非常好的入门级OpenCL教程,通过看教程中的PPT,我们能够很快的了解OpenCL机制以及编程方法。
下载地址:http://developer.amd.com/zones/OpenCLZone/universities/Pages/default.aspx

教程中的英文很简单,相信学OpenCL的人都能看得懂,而且看原汁原味的英文表述,更有利于我们了解各种术语的来龙去脉。

以下是把这些教程翻译成的中文表述,主要是强化理解需要 。
AMD OpenCL大学教程(University Programs)中文版
http://www.csdn.net/article/a/2012-08-20/2808887
Lecture 1:并行计算概述 (Introduction to Parallel Computing)
http://www.csdn.net/article/a/2012-08-20/2808827
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808827.html
Lecture 2:OpenCL概述 (Introduction to OpenCL)
http://www.csdn.net/article/a/2012-08-20/2808830
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808830.html
Lecture 3:OpenCL概述 续篇(Introduction to OpenCL)
http://www.csdn.net/article/a/2012-08-20/2808831
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808831.html
Lecture 4:OpenCL概述 续篇
http://www.csdn.net/article/a/2012-08-20/2808832
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808832.html
Lecture 5:OpenCL概述 续篇
http://www.csdn.net/article/a/2012-08-20/2808833
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808833.html
Lecture 6:GPU架构
http://www.csdn.net/article/a/2012-08-20/2808835
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808835.html
Lecture 7:GPU架构 续篇
http://www.csdn.net/article/a/2012-08-20/2808841
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808841.html
Lecture 8:OpenCL buffer使用及两个简单例子
http://www.csdn.net/article/a/2012-08-20/2808846
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808846.html
Lecture 9:GPU memory 结构
http://www.csdn.net/article/a/2012-08-20/2808854
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808854.html
Lecture 10:GPU线程及调度
http://www.csdn.net/article/a/2012-08-20/2808864
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808864.html
Lecture 11:性能优化
http://www.csdn.net/article/a/2012-08-20/2808869
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808869.html
Lecture 12:性能优化案例NBody
http://www.csdn.net/article/a/2012-08-20/2808885
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808885.html
Lecture 13:OpenCL扩展
http://www.csdn.net/article/a/2012-08-20/2808886
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/2012/0820/2808886.html

OpenCL - 迈克老狼2012
http://www.cnblogs.com/mikewolf2002/category/343145.html
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值