C++ Coder

HCP高性能计算架构,实现,编译器指令优化,算法优化, LLVM CLANG OpenCL CUDA OpenACC C++AMP OpenMP MPI

C++博客 首页 新随笔 联系 聚合 管理
  98 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

#

     摘要: http://blog.csdn.net/banyao2006/article/details/7045216 摘要   该文档是LLVM汇编语言的参考指南。LLVM是基于表示的静态单赋值(SSA),该表示提供类型安全、低层级操作,灵活性,及简洁表示所有高层级语言的能力。这是贯穿各方面LLVM编译策略的通用代码表示。        &nb...  阅读全文
posted @ 2012-10-22 12:04 jackdong 阅读(1849) | 评论 (0)编辑 收藏

http://www.csdn.net/article/2012-10-19/2810967-Why-are-China's-programmers-always-calle

摘要:之前,研发频道曾发过《东方程序员怎么看西方程序员》和《西方同行眼中的东方程序员》这两篇文章。来自世界各地的程序员们各抒己见。或许,从上面两篇文章中也多少能得出“为什么中国的程序员总被称为码农?”下面是来自知乎网上各位大牛的看法。让我们来一起看下!

实际上IT行业在中国并不是特别差的行业,而程序员的工资也并不低,但为什么中国的程序员总被称作码农或者说是苦逼的程序员?中国的程序员生活和欧美的有什么不一样?

之前,研发频道曾发过《东方程序员怎么看西方程序员》和《西方同行眼中的东方程序员》这两篇文章。来自世界各地的程序员们各抒己见。或许,从上面两篇文章中也多少能得出“为什么中国的程序员总被称为码农?”下面是来自知乎网上各位大牛的看法。让我们来一起看下!

一位叫吴涛的程序员的回答:

编程活动和机械电子一样可以视为一种工艺(craftsmanship),从事此类工艺活动的人可以叫做工匠或者工程师。经历过工业革命的欧美国家,有深厚的工程根底,从机械到电子再到软件,都是国家产业的支柱,滋养着社会中坚力量的中产阶级。工程师的社会地位普遍比较高,他们有工艺的传承,有文化圈,有产业的历史。

而国内目前的软件工业和制造业非常相似,以来料加工式的低水平重复劳动为主。就好像农民仰赖着老天提供种子、土壤、阳光和水,中国程序员仰赖着洋人提供设备、技术和理念,从微处理器、操作系统、编程语言、编译器、IDE、编程框架到应用程序,除了做晶圆的沙子是本地产的,几乎没有什么属于自己,每天的工作内容主要就是把别人已有的东西按照自己的——甚至不是自己的——需求装配一下,没有什么创造性,也很少有业界的技术积累和传承出现,即便有也流传不开,毕竟程序员文化水平普遍不高——「有知识,没文化」,就是说这样的状况。记得劣质盗版VCD满天飞的时代,有个程序员做出一款丑陋但是解码容错能力很好的播放器,贴合国情,一炮成名,结果好容易写本书,没有几个句子能写通顺的。这种技术书籍的拙劣状况一直保持到现在,而且拙劣的方式更加多样化了。没有技术传承,没有文化圈,不乏有人上大学之前对编程一窍不通,学计算机只是因为计算机「热门」而已。如同包办的婚姻,没有一丝爱情,最后以编程为业,只是因为也不会做别的什么了。

另一方面,国内程序员不论薪水如何,的确很苦。许多人长期被迫加班,最后甚至会成为一种自愿的习惯。可生产率和产品质量并未因此而提高,就像千百年来用惯锄头和镰刀的农夫,很少有人会想要去学习、改进自己使用的工具和习惯,甚至对于新兴的思潮和方法抱有非理性的抵触情绪。生活如此悲惨,却又如此不思进取,和农民的问题很相似。再加上,就好像城里人眼中的乡下人一样,程序员们木讷、邋遢、缺乏情调、土。可偏偏又自负而且互相看不起。

总而言之,在中国做一个程序员,很少有什么事情能让人觉得自己从事的工作很体面。那么,在整个社会以自嘲为风尚、许多行业都喜欢好勇斗狠地自轻自贱的状况中,使劲贬低自己的职业,自嘲和群吵时,就不会有什么心理包袱。不过,就好像黑人可以自称或者互称「黑鬼」,但是白人如果敢讲立刻会惹祸一样,喜欢以此自称的程序员并不见得能容忍其他人这样称呼自己。

最后,英语有类似的说法,将带有隔断的办公室叫做cube farm,常见于传统的软件公司。以讽刺(但不限于)软件公司日常生活为主题的漫画Dilbert就有不少格子办公室里的场景。不过cube farm说的并不是程序员们像农民,而是说他们像地里的庄稼或者果树,产出成果,等待收割。毕竟,欧美发达国家的农民生活往往比程序员更好。高收入,农机劳作,大片的私有土地,宁静的田园生活。农民的生活在那里,如果不是令人向往,至少也并无贬义。

补充:本版同文所说的code monkey在英语中的语用,与「码农」在中文里的用法并不一样。

code monkey是指以计算机程序员或者那些以编码为生的人。这个术语可能包含轻微的贬义,这意味着开发者可能编写代码,但不能执行复杂点的任务,比如:构建软件结构、分析和设计,一般指初级程序员。

如果一名code monkey正在努力增加知识和提升职业技能,那么会有另一个等级名词赋予他。

其实code monkey这个术语在层次划分上还是有点困难的,因为像那些真正熟练的开发人员或程序员他们仍然在做编码工作。或许像这样划分会好一点:

  1. coder:编码员
  2. programmer:程序员
  3. software engineer:软件工程师
  4. software analyst:软件分析师
  5. software architect:软件架构师

或许还可以在前面加“初级”、“中级”、“高级”这几个前缀。这些都反映了一定的等级、技能水平和薪资。

请注意:它只能在小范围确定的某种层次结构,例如在一个公司、甚至一个部门。一个在A公司工作的“程序员”可能比B公司的中级架构师所要求的技能更多。

下面是关注前端技术的邓陈华同学的回答:

首先, 问题的题目”为什么中国的程序员总被称为码农?“是有一定的可辩论性的,因为我所了解的事实是,大多时候是“中国的程序员自称为码农”,很少有不同行的人称呼程序员为“码农”。当然,可能和我所处环境有关系。认可涛吴所说的“自称码农的程序员并不见得能容忍其他人这样称呼自己”,因为这就像他所举的例子,黑人允许自称,但不允许白人称呼,同样的词在熟人说来是亲切、是自嘲、甚至可以是自讽,但在外人说来,那不仅是不尊重,还有可能是侮辱。

其次,身处互联网行业,程序员工作辛苦,加班再正常不过,项目进度、突发情况、公司文化都可能成为加班的理由,虽然收入不一定差,但够苦逼。另外一方面, 程序员鱼龙混杂,水平参差不齐,而互联网向来是一个强调能力的开放行业,有多少能力就拿多少工资,这样注定有相当大一部分因为水平不够,导致收入问题成为“码农”的心病。

而“ 工作辛苦”、“收入低”和农民有类似,所以无论自嘲或者是被别人冠以“码农”的称谓,辛苦、收入低这两个标志包含其一的可能性非常大。如果两者兼有,那就是纯种‘码农’一枚,够苦逼。

当然,还有第三种情况就是像赵劼姐夫这样,“弹钢琴的码农”,已经做“码农”做到一种境界,并不一定强调其辛苦、更不会收入差,以“码农”调侃的口吻戏谑人生,这个心态和大家自称屌丝是一样的,更多的自嘲自讽。其实,这样收入高而且相对不这么辛苦的精英“码农”在行业内也不少。

下面是在读研究生吴洲提供的,来自图灵中文社区电子杂志《码农》第一期的首卷语:《所谓码农》一文的解释:

对于“码农”这个称呼,有些人喜爱有加,有些人不以为然。区别在于对待“农”这个字的感觉。农当然是指农民,这个词寓义很丰富,既可以说它伟大,也可以说它渺小。说它伟大,是因为我们的生存离不开农民,而且中国一直是个农业为本的国家,曾经说是百分之八十的人是农民,这意味着往前翻⼀两代,你我众人皆是农民出身。以此观之,农可谓大哉。说它渺小,则是因为大家的观念里,农民意味着有很多缺点,冠冕堂皇的说法是劣根性,比如目光短浅、思维陈旧、自私小气等等,总之是为我们受过教育的人群所看不惯的种种毛病——这些毛病虽然我们自己也有,但是我们看不见——于是乎“农民”成为了骂人时常用的字眼。

其实,把自己的编程生涯与田间地头的锄禾日当午对应起来,确是有那么些相似之处的。你能想象得到,田间整齐栽种的秧苗,与屏幕上显示的错落有致的代码行有几分神似。各种庄稼的种植是有讲究的,正如你要注意编程风格。施肥灌溉,犹如你对代码进行的编译链接。除草除虫,自然是在做着debug 。你挑水来我浇园,大概是在小菜园中进行的结对编程。因为靠天吃饭,农民们也要学点云计算,去五道口职业技术学校进修的人也多起来了。收割的季节,活多人少,也常常是要搞外包的,因为deadline 很重要。不过坦率地说,“码农”这个叫法让人体会更多的是滑稽、搞怪、无厘头。毕竟一个是简单的体力劳动,一个是高智商的脑力劳动,不可同日而语。而程序员却偏爱这样的时空错乱的感觉,自嘲

(我就是个农民!)的同时却又自命不凡(我是码农我怕谁?!),特立独行极了。

码农的草帽底下,是一颗充满创造力的自由不羁的头脑。他们遵从最佳实践而痛恨陈规教条,他们欣赏天才而不迷信权威,他们喜欢思考而不轻易苟同。他们是技术人,却追求人文理想;他们敢于呐喊,说出自己的观点和主张,也更善于脚踏实地,用自己的点滴工作去改变现状。码农们是勤奋的,加班加点的工作是常有的事情,城市夜间的灯火,有多少是在码农们的办公室和居所点燃?周末四处举办的技术交流和讲座,又活跃着多少码农的身影?线下读书,线上讨论,冥思苦想,动手实践,新技术驱动着码农们的脚步,码农们在改变着我们的生活。生存离不开农民,生活离不开码农。

各位“码农”,你们是如何看待这个称呼的呢?对于上面几位大牛的观点,你们有啥想说的?不妨和我们分享一下吧!

posted @ 2012-10-21 22:42 jackdong 阅读(366) | 评论 (0)编辑 收藏

 

“微软进入高性能计算(HPC)领域历史很短,几年前在全球超级计算机500强(Top500)中看不到微软的名字。2008年底,微软与曙光和上海超级计算中心合作,排到了第10名。”……

  “微软进入高性能计算(HPC)领域历史很短,几年前在全球超级计算机500强(Top500)中看不到微软的名字。2008年底,微软与曙光和上海超级计算中心合作,排到了第10名。”微软负责HPC的服务器与工具事业部高级总监Vince Mendillo近日在接受专访时表示。

  高性能计算机的历史已经有50多年了,即便从1993年Top500开始发布排名算起,也快30年了。与之相比,微软高性能计算的历史确实很短:微软第一款高性能计算产品Windows Compute Cluster Server 2003是在2006 年6月才正式发布。至于说主打产品Windows HPC Server 2008则是在2008年9月才发布。

  然而,历史很短的微软高性能计算部门不仅担当着微软进军高性能计算市场的责任,而且还肩负着引领Windows走向并行的义务。

  

  并行化微软的动力

  高性能计算日趋广泛的应用和x86平台的多核化,已经改变了高性能计算市场阳春白雪的形象,也成为微软进入高性能计算市场的两大契机。

  “如今,科学界、工业界、政府甚至分析师用户都面临着同样的问题——有待处理的海量信息,因而对计算性能的要求越来越高。我们认为,水平扩展(Scale Out)是彻底解决这一问题的方式。高性能计算不是要把单台机器做得非常大,而是应通过机群来实现。”Mendillo表示。

  与此同时,x86平台多核化带来的并行编程挑战也在颠覆Windows平台传统的串行编程的模式。

  “x86平台多核化的发展趋势,使得在不久的将来人们就能用上有几十个内核的PC。但是现有的大多数软件还无法适应硬件上多核技术的发展。最核心的问题就是并行编程,原有的编程方式和算法都已经过时。如何让开发者或用户能非常容易地把并行软件开发出来,这对微软来说是非常重要的。”Mendillo表示。

  “并行计算是高性能计算必需的,也是Windows平台发展的方向。尽管我们高性能计算部门现在还处于初期阶段,但我们努力的方向是让微软整个产品线都向着这个方向发展。在微软内部,我们相当于推动Windows平台并行化的动力。”

  “微软在高性能计算上的投资非常大,这将会影响到整个公司所有的产品部门,不仅涉及到操作系统及其上的软件,还涉及到开发工具。比如说,我们不断地开发新的工具以便让并行编程变得更容易一些,我们也在考虑Windows HPC Server与.NET的并行延伸,我们还和Visual Studio开发工具部门密切合作,以便让开发者能更快地开发出并行软件。”Mendillo表示。

  高性能计算四处着手

  4月7日,微软通过提供网上下载,扩大了最新版本Windows HPC Server 2008 R2的beta测试范围。

  Mendillo表示,微软主要是在四个方面提高了新版软件的性能和功能。

  高性能计算首先就是要实现高性能。“尽管Linux进入高性能计算市场已经很多年了,但在模拟两车相撞的通用有限元分析标准测试中,随着处理器内核数的增加,我们产品的性能表现至少与Linux一样,有些时候甚至超过它们。”Mendillo表示,“拥有强劲浮点性能的GPU作为性能加速器已经越来越多地被用在高性能计算系统中,我们现在的测试版已经包含了对GPU的支持,开发者可以在嵌有NVIDIA公司GPU编程工具的Visual Studio上,对GPU进行编程。”

  二是加速Excel运算。切不要以为这是杀鸡用牛刀。Mendillo介绍说,使用Excel的人寿保险精算其运算量非常大,在高端PC上要跑14个小时,而后来这家保险公司使用32节点的机群系统后,耗时只有2.5分钟。

  如今高性能计算用户面临这种尴尬的情况:一方面渴求计算资源,另一方面大量的桌面计算资源被闲置。Windows HPC Server 2008 R2提供了名为“工作站机群”的功能,把桌面上的工作站和PC闲暇时间的计算资源整合成一个高性能计算系统,这是其三。

  最后一点则是由于高性能计算系统通常都是异构平台,因此跨平台的互操作性就显得很重要了。“我们从客户那里了解到,有些客户过去一直在使用Linux机群,现在想用Windows方案。这样客户原有的投资和Windows之间的互操作就十分重要了。”Mendillo表示,“微软与Adaptive等三家公司合作,为用户提供双启动以及动态负载平衡等功能。”

相关消息:

 

http://winsystem.ctocio.com.cn/179/9432179.shtml

posted @ 2012-10-21 14:34 jackdong 阅读(456) | 评论 (0)编辑 收藏

PGI编译器集成了全局优化,矢量化,软件流水,和共享内存并行化,配置文件反馈优化技术以及生成异构并行代码生成的能力等功能。不同于市场上的一些产品,PGI编译器不依赖于外部预处理器来提供这些功能。支持的操作系统有Linux,Mac OS X和Windows。

增强的PGI Fortran 编译器可以支持由 NVIDIA 和 PGI 共同定义的 CUDA Fortran 扩展。CUDA Fortran 类似于 NVIDIA CUDA C,而且通过直接控制数据移动的各方各面支持显式 GPU Accelerator编程,并减轻运算密集函数的负荷。

增强的PGI Fortran 和 C 编译器也支持 PGI Accelerator编程模型,这种高级的隐式模型允许图形加速器(accelerator)使用Fortran 指令或 C 编译指示从而减轻主机CPU上运算密集的代码段的负荷。

可将这些程序迁移至其他平台和编译器。

 

PGI 提供原生的标量和并行编译器产品,用于以下高级语言:
Fortran 95 带有 Fortran 2003 扩展,符合 OpenMP 3.0,支持 GPU
ANSI C99 扩展,符合 OpenMP 3.0,支持 GPU
ANSI/ISO C++、符合 OpenMP 3.0

PGI编译器产品线包括:
PGI Workstation – 单用户节点锁定许可证
PGI Server – 多用户网络浮动许可证
PGI CDK Cluster Development Kit – 多用户网络浮动许可证,带有可扩展的 MPI 程序调试器与程序分析器
PGI Visual Fortran – 与 Microsoft Visual Studio 集成的 PGI Fortran;提供单用户与多用户许可证,并且包含于 PGI CDK for Windows 中。

程序调试器、程序分析器与其他工具
除了整套并行语言编译器以外,所有的 PGI 产品还包含 PGDBG ? OpenMP/MPI 图形化并行程序调试器和 PGPROF ? OpenMP/MPI 程序性能分析器。

PGI提供市面上唯一的多核 x64 并行编译器、调试器和程序分析器,以及与这些编译器、调试器与分析器直接集成的并行支持。这有助于编程人员进行更快的开发、获得更高的性能与更出色的稳定性。

为何选择 PGI:
用于 Intel 和 AMD x64 处理器+GPU 的 PGI Unified Binary
PGI Unified Binary 技术通过整合成一个可执行文件,并为 Intel 和 AMD 的多核 x64 处理器系列以及 NVIDIA 的 GPU Accelerator优化代码顺序,简化了跨平台支持。PGI Unified Binary 提供 x64 平台的所有优势,帮助您充分利用最新的硬件革新技术。

用于高性能应用程序的编译器解决方案
PGI 编译器为广泛的应用程序与基准测试提供世界级的性能。PGI 编译器是大量注重性能的应用程序的绝佳选择,这些应用程序的领域包括地理建模、机械工程、计算化学、天气预报与高能物理学。PGI 编译器连续在 SPECfp2006、SPECint2006、SPECompM2001 与 NAS 并行基准测试中位居榜首。

跨平台高性能计算开发环境
PGI 编译器生成的代码为行业最流行的高性能计算(HPC)平台进行了优化,而且可以直接从最主流的系统制造商那里获取它们。PGI 产品可以在广泛的64位与32位桌面和服务器操作系统下运行,包括30多种流行的 Linux 版本、Mac OS X 以及 Microsoft Windows 的大多数版本(包括 HPC Server 2008)。

用于Accelerator编程的全方位模型
PGI Accelerator编程模型只需通过将可迁移的编译器指令添加到现有的符合标准的MPI、OpenMP Fortran 和 C 程序中,即可帮助开发人员在 x64+GPU 平台上不断加速应用程序。CUDA Fortran 允许专业的编程人员直接控制 GPGPU 编程的各个方面。

并行编译器与工具的集成套件
PGI 提供一套完整的编译器与工具集成套件,用于开发高性能并行应用程序,包括完全集成的图形 PGDBG? 与 PGPROF? 并行 MPI/OpenMP 应用程序调试和分析工具。PGI 编译器与工具在所有支持的操作系统上提供统一的用户界面,简化了设计、编写、调试与微调高性能运算应用程序的流程。

一套适用于世界上要求最严苛应用程序的解决方案
利用 PGI 编译器与工具构建而成的领先商业应用程序包括 ANSYS、ADINA、AVL Fire、POLYFLOW、STAR-CD、LS-DYNA、RADIOSS、PAM-CRASH 和 GAUSSIAN。利用 PGI 各个版本的编译器与工具进行构建与测试的领先社团研究应用程序包括 AMBER、BLAST、CAM、CHARMM、GAMESS、MCNP5、MM5、MOLPRO、MOM4、POP 与 WRF。
 


PGI
官方网站:www.pgroup.com

PGI Workstation
PGI Workstation 级编译器和工具用于采用 64 位 x64 和 32 位 x86 处理器的工作站或服务器,支持高达八个CPU插槽运行 32 位或 64 位 Linux 或 Windows 操作系统。 、

PGI Server
PGI Server 级编译器和工具用于采用 64 位 x64 和 32 位 x86 处理器的工作站或服务器,支持高达16个CPU插槽并可运行 Linux 或 Windows 操作系统。 、

PGI CDK
PGI CDK Cluster Development Kit 是您构建 Linux 集群所需要的全部工具,除了硬件之外。可用于 64 位或 32 位 Linux。

PGI Visual Fortran
PGI Visual Fortran 将 PGI 套装软件的高性能 64 位和 32 位并行 Fortran 编译器和工具完全集成到 Microsoft* Visual Studio* 2005 中。

 品牌  PGI  软件名称  PGI编译器
 系统平台要求  Windows、Linux  购买  

posted @ 2012-10-21 13:56 jackdong 阅读(966) | 评论 (0)编辑 收藏

http://www.nvidia.cn/object/gpu-acceleration-genomics-application-openacc-press-20120806-cn.html

"DNADist" 软件轻松实现 16 倍速度提升, 可帮助 Roche 和其它医药公司加快药物研究

2012 年 8 月 6 日 — 中国上海 — 英伟达公司今天宣布,OpenACC 编程标准让中国研究人员能够大幅加速 DNADist 基因组应用程序(1),研究人员在寻找遗传疾病治疗方法的初期阶段使用该应用程序,这些遗传疾病包括唐氏综合症、血友病、囊胞性纤维症以及镰状细胞疾病等等。

利用 CAPS 公司 OpenACC 编译器上海交通大学CAPS公司 研究人员仅仅通过在应用程序代码中增加了四个简单的提示,即所谓的“指令”,便在一台英伟达™ (NVIDIA®) Tesla™GPU 系统上令 DNADist 应用程序加速了 16 倍。

DNADist 是一款距离矩阵应用程序,用于研究进化史上各个物种之间的遗传关系,该应用程序让研究人员能够读取核甘酸序列,进而从定序的 DNA 数据中提取信息,此举有可能让人们能够更好地了解遗传流行疾病的原因和治疗方法。加速 DNADist 应用程序让研究人员能够大幅扩大研究输入数据的范围、在疾病治疗研究过程中更早地获得可付诸实际行动的信息。

OpenACC 是一种利用指令的并行计算编程标准,该标准旨在让全球数以百万计的研究人员能够轻松利用 GPU 计算的强大能力。 它为用户提供了最简单的方式,无论用户是否具备大量并行编程专业技术,均可在数小时之内运用自己熟悉的编程模型来加速研究工作。

OpenACC 和 GPU 加速的威力让 Roche 惊叹不已
只需极少的工作即可迅速可实现改变行业面貌的应用程序加速,OpenACC 让 Roche 这样全球领先的医药公司能够以更具性价比的方式更快地研究、找出和开发出更有效的药物。

Roche 医药全球信息项目总监 Steve Pan 表示:“OpenACC 能够如此迅速而轻松地为 DNADist 释放 GPU 加速能力,这让我感到震惊。DNADist 是我们顶级关键的应用程序之一。 GPU 的潜在影响是无法估价的,因为只要我们的产品能够更快地上市,即便仅仅是提前一天,也会拯救更多生命。”

英伟达 Tesla 事业部高级总监 Sumit Gupta 指出:“想要从浩繁的可用 DNA 定序数据中提取有意义的信息,需要依赖不断增长的计算能力。 OpenACC 让研究人员能够快速而轻松地利用 GPU 加速器的巨大性能,来分析海量的基因数据。这样能够大幅缩短研究生物系统所需的时间,有可能会让研究人员开发出更有效的下一代药物。”

目前有大量研究人员和工程师正在运用支持 OpenACC 的编译器和 CPU/GPU 混合型计算系统来加速各类应用程序,而且研究人员和工程师数量仍在不断增长。涉及的应用程序包括 CAD/CAM、图像处理、材料科学、分子动力学以及量子化学等等。 在很多情况下,用户报告,仅仅用了短短几个小时的时间,便已实现高达 5-10 倍甚至更高的速度提升。

展示 OpenACC 和 DNADist 的网络研讨会 – 2012 年 9 月 6 日
CAPS 公司将于 2012 年 9 月 6 日星期四开办一场免费的公开网络研讨会,为参与者讲解 OpenACC 使用案例和最佳实践,详细介绍 DNADist 应用程序的加速。如需了解更多信息或如需报名参加,敬请访问 https://www2.gotomeeting.com/register/668751466

关于英伟达™ Tesla™ GPU
英伟达™ Tesla™ GPU 是基于英伟达™ (NVIDIA®) CUDA™ 并行计算平台的大规模并行加速器。 英伟达™ Tesla™ GPU 完全专为节能的高性能计算 (HPC)、计算科学以及超级计算而设计,与仅使用 CPU 的做法相比,能够大幅加速一系列科学与商业应用程序。
如需了解有关英伟达™ Tesla™ GPU 的更多信息,敬请访问英伟达™ Tesla™ 网站。 如需了解英伟达 CUDA 的更多信息或如需下载最新版本,敬请访问 CUDA 网站。如需查看更多英伟达新闻、公司和产品信息、视频、图像以及其它信息,敬请访问英伟达新闻中心

关于英伟达公司
1999 年,英伟达公司 (纳斯达克代码: NVDA) 发明了图形处理器 (GPU),让全世界重新认识了计算机图形的威力。现在,从智能手机超级计算机,英伟达的处理器已广泛应用于各种各样的产品。手机平板电脑以及汽车信息娱乐系统均采用英伟达的移动处理器PC 游戏玩家利用 GPU 来享受令人叹为观止、身临其境的游戏世界。专业人士利用 GPU 来打造 3D 图形和电影中的视觉特效、设计包括高尔夫球棒与大型喷气式客机在内的各种解决方案。研究人员利用 GPU 所实现的高性能计算 来推动科学技术进步。英伟达公司拥有 5,000 多项已发布、已批准或已备案专利,其中涵盖了关乎现代计算之根本的诸多理念。如需了解更多信息,敬请访问 www.nvidia.cn

_____________________________________________

1 DNADist 是 Phylip (PHYLogeny Inference Package) 开源软件包的一部分,这些软件程序为生物科学领域 (主要是种系发生学科) 的学术人员所采用。 来源: http://en.wikipedia.org/wiki/PHYLIP

媒体咨询,请联络:

金洋(Steven Jin)
NVIDIA®(英伟达™)中国区公关经理
电话:(8610)-58661502
E-mail: jiyang@nvidia.com

刘萱、段全义
友拓传播机构
北京市朝阳区东三环中路20号乐成中心A座18层 (100022)
电话:(8610) 67718828-6110/8114
Email:lucyliu@utoppr.com
          cliff.duan@utoppr.com

posted @ 2012-10-21 13:11 jackdong 阅读(296) | 评论 (0)编辑 收藏

1、首先打开控制台。

2、【..】$su

3、输入你的root密码,点击回车确定。

4、【..】#init 3

5、使用你的账户登录Linux。

6、执行显卡驱动的安装程序。例如【..】#sh NVIDIA_DEV.sh

7、根据安装提示,选择安装选项,完成安装。

8、【..】#init 5

OK!!!very easy!!

http://blog.csdn.net/bendanban/article/details/7660192

posted @ 2012-10-21 13:04 jackdong 阅读(286) | 评论 (0)编辑 收藏

从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到"中间人"这种方式的攻击。

第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上, 客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来 的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密"质询"(challenge)并把它发送给客户端软件。客户端软件收到"质询"之后就可 以用你的私人密匙解密再把它发送给服务器。

用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。

第二种级别不仅加密所有传送的数据,而且"中间人"这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。

安装并测试OpenSSH
因为受到美国法律的限制,在很多Linux的发行版中都没有包括OpenSSH。但是,可以从网络上下载并安装OpenSSH(有关OpenSSH的安装 和配置请参考:http://www.linuxaid.com.cn/engineer/brimmer/html/OpenSSH.htm)。

安装完OpenSSH之后,用下面命令测试一下:

ssh -l [your accountname on the remote host] [address of the remote host]

如果OpenSSH工作正常,你会看到下面的提示信息:

The authenticity of host [hostname] can't be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?

OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入"yes"。这将把这台主机的"识别标记"加到"~/.ssh/know_hosts"文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。

然后,SSH提示你输入远程主机上你的帐号的口令。输入完口令之后,就建立了SSH连接,这之后就可以象使用telnet那样使用SSH了。

SSH的密匙
生成你自己的密匙对
生成并分发你自己的密匙有两个好处:

1) 可以防止"中间人"这种攻击方式

2) 可以只用一个口令就登录到所有你想登录的服务器上

用下面的命令可以生成密匙:

ssh-keygen

如果远程主机使用的是SSH 2.x就要用这个命令:

ssh-keygen -d

在同一台主机上同时有SSH1和SSH2的密匙是没有问题的,因为密匙是存成不同的文件的。

ssh-keygen命令运行之后会显示下面的信息:

Generating RSA keys: ............................ooooooO......ooooooO
Key generation complete.
Enter file in which to save the key (/home/[user]/.ssh/identity):
[按下ENTER就行了]
Created directory '/home/[user]/.ssh'.
Enter passphrase (empty for no passphrase):
[输入的口令不会显示在屏幕上]
Enter same passphrase again:
[重新输入一遍口令,如果忘记了口令就只能重新生成一次密匙了]
Your identification has been saved in /home/[user]/.ssh/identity.
[这是你的私人密匙]
Your public key has been saved in /home/[user]/.ssh/identity.pub.
The key fingerprint is: 2a:dc:71:2f:27:84:a2:e4:a1:1e:a9:63:e2:fa:a5:89 [user]@[local machine]

"ssh-keygen -d"做的是几乎同样的事,但是把一对密匙存为(默认情况下)"/home/[user]/.ssh/id_dsa"(私人密匙)和"/home/[user]/.ssh/id_dsa.pub"(公用密匙)。

现在你有一对密匙了:公用密匙要分发到所有你想用ssh登录的远程主机上去;私人密匙要好好地保管防止别人知道你的私人密匙。用"ls -l ~/.ssh/identity"或"ls -l ~/.ssh/id_dsa"所显示的文件的访问权限必须是"-rw-------"。

如果你怀疑自己的密匙已经被别人知道了,不要迟疑马上生成一对新的密匙。当然,你还要重新分发一次公用密匙。

分发公用密匙
在每一个你需要用SSH连接的远程服务器上,你要在自己的家目录下创建一个".ssh"的子目录,把你的公用密匙"identity.pub" 拷贝到这个目录下并把它重命名为"authorized_keys"。然后执行:

chmod 644 .ssh/authorized_keys

这一步是必不可少的。如果除了你之外别人对"authorized_keys"文件也有写的权限,SSH就不会工作。

如果你想从不同的计算机登录到远程主机,"authorized_keys"文件也可以有多个公用密匙。在这种情况下,必须在新的计算机上重新生成一对密 匙,然后把生成的"identify.pub"文件拷贝并粘贴到远程主机的"authorized_keys"文件里。当然在新的计算机上你必须有一个帐 号,而且密匙是用口令保护的。有一点很重要,就是当你取消了这个帐号之后,别忘了把这一对密匙删掉。

原文地址:http://fly-net-cn.iteye.com/blog/119301

posted @ 2012-10-21 13:03 jackdong 阅读(365) | 评论 (0)编辑 收藏

在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。
  在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:
  $vi ~/.vimrc
  设置完后
  $:x 或者 $wq
  进行保存退出即可。
  下面给出一个例子,其中列出了经常用到的设置,详细的设置信息请参照参考资料:
  “双引号开始的行为注释行,下同
  “去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
  set nocompatible
  “显示行号
  set nummber
  “检测文件的类型
  filetype on
  “记录历史的行数
   set history=1000
   “背景使用黑色
  set background=dark
  “语法高亮度显示
   syntax on
  “下面两行在进行编写代码时,在格式对起上很有用;
  “第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;
  “第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编
  “写上很有用
  set autoindent
  set smartindent
  “第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
  set tabstop=4
  set shiftwidth=4
  “设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
  set showmatch
  “去除vim的GUI版本中的toolbar
  set guioptions-=T
  “当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
  set vb t_vb=
  “在编辑过程中,在右下角显示光标位置的状态行
  set ruler
  “默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
  set nohls
  “查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
  “个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
  “次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
  “时,别忘记回车
  set incsearch
  “修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀
  if has(“vms”)
   set nobackup
  else
   set backup
  endif
  如果去除注释后,一个完整的.vimrc配置信息如下所示:
  set nocompatible
  set nummber
  filetype on
  set history=1000
  set background=dark
  syntax on
  set autoindent
  set smartindent
  set tabstop=4
  set shiftwidth=4
  set showmatch
  set guioptions-=T
  set vb t_vb=
  set ruler
  set nohls
  set incsearch
  if has(“vms”)
   set nobackup
  else
   set backup
  endif
  
  如果设置完后,发现功能没有起作用,检查一下系统下是否安装了vim-enhanced包,查询命令为:
  $rpm –q vim-enhanced
  参考资料:
  1.vim的完全翻译版在下面连接处可以找到
http://vimcdoc.sourceforge.net/
  可以下栽其中的一个PDF版本,里面介绍的很详细,强烈推荐:)
  2.更详细的vim信息可以访问:
http://www.vim.org/
  3.一个带有英文注释的.vimrc例子

http://www.vi-improved.org/vimrc.php(王朝网络 wangchao.net.cn)


本文转载自:http://www.wangchao.net.cn/bbsdetail_816650.html

posted @ 2012-10-21 13:02 jackdong 阅读(218) | 评论 (0)编辑 收藏

Linux 是一个非常强大的操作系统,但是完全转换为Linux是比较困难的。鉴于这个原因,很多人更愿意保留双系统(Linux&Windows),Linux boot loader though(被称为Grub),通常默认启动Linux,这里我们讲下如何去改变这一点。

注意:我们使用的Linux版本是Ubuntu。


方法一:图形的方法

如果你还不是很熟练使用命令行,或者说你仅仅是想用美妙的图形界面,这就是你要的方法了!

1)我们需要安装一个程序,这个程序叫startupmanager。我们可以在Ubuntu 软件中心找到它。找到之后就可以点击安装了(install)。



2)安装完成之后,启动它,在提示框中键入你的用户密码。

3)在Boot options选项卡中,点击在Default operating system下的下拉菜单。然后选择Windows作为你的默认启动系统就可以了。



4)完成之后,点击关闭(Close)按钮,你会看到StartUp-Manager正在完成剩余的工作。



方法二:命令行方式

如果你想使用命令行方式,或许你应该也了解一点VI。

1)打开一个Terminal窗口(CTRL+ALT+T

2)查找一下Windows操作系统的启动顺序号。

键入命令:cat /boot/grub/grub.cfg | grep menuentry



在下面的截屏中,你会看到“Windows 7...”是第五个入口,但是因为入口号的计数是从0开始的,那么真正的入口号应该是4。

3)编辑 /etc/default/grub

键入命令:sudo vim /etc/default/grub

将GRUB_DEFAULT改为4,然后保存这个文件后退出。



4)对boot loader更新一下刚才的修改。

键入命令:sudo update-grub


Ok了,你可以启动下系统看看了。若有问题欢迎评论。

附录:原文地址:http://howto.cnet.com/8301-11310_39-20111987-285/how-to-change-the-boot-order-of-a-dual-boot-linux-pc/

posted @ 2012-10-21 13:01 jackdong 阅读(190) | 评论 (0)编辑 收藏

本文向大家介绍如何利用VS2008建立一个CUDA工程。

第一步: 下载相应的deriver和toolkit,最好把sdk也下载来安装好。

依次安装这三个软件。这里就不讨论这一部分了。这部分实在是没得说。


第二步:建立新空工程


图1


图2


图3


图4

第三步:选择编译生成规则


图5


图6

第四步:添加CUDA文件右击你的项目,选择添加-》新建项,然后参照图示


图7


图8


图9

第五步:添加链接库,右击项目-》属性


图10


图11

最后一步:生成


图12


图13


http://blog.csdn.net/bendanban/article/details/8037538
posted @ 2012-10-21 12:57 jackdong 阅读(218) | 评论 (0)编辑 收藏

仅列出标题
共10页: First 2 3 4 5 6 7 8 9 10