
经典收藏
文章平均质量分 93
安嘉
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
由C#风潮想起的-给初学编程者的忠告
我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追 赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部 头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可 以不用指针等等则让我觉得好笑。C#就象当年的ASP一样,“忽如一夜春风来,千树万树梨 花开”,结果许多学校的信息学院成了“Web 学院转载 2009-09-19 23:59:00 · 760 阅读 · 2 评论 -
OpenMP中数据属性相关子句详解(1):private/firstprivate/lastprivate/threadprivate之间的比较
private/firstprivate/lastprivate/threadprivate,首先要知道的是,它们分为两大类,一类是private/firstprivate/lastprivate子句,另一类是threadprivate,为指令。(PS:有些地方把threadprivate说成是子句,但是实际来讲,它是一个指令。)可以参考http://blog.youkuaiyun.com/gengshe转载 2014-03-08 11:59:30 · 687 阅读 · 0 评论 -
为什么转置512×512矩阵,会比513×513矩阵慢很多?
谨以此文,纪念刚退休的 Professor Sibert 以及 Professor Goel。你们尽管已年过 70,却还仍然坚持在教导学生,实在令人钦佩。我今天所拥有的编程知识,经验,技巧,很大一部分是从你们那儿学来的。谢谢你们。 问题的出处:Stackoverflow 问答贴 事情的起因是这样的,先看下面这段代码:define SAMPLES 1000#define MAT转载 2014-03-09 14:48:58 · 935 阅读 · 0 评论 -
Cache的组成结构
在一个Cache中包含多行多列,存在若干类组成方式。在处理器体系结构的历史上,曾出现过更多的的组成结构,最后剩余下来的是我们耳熟能详的Set-Associative组成结构。这种结构在现代处理器微架构中得到了大规模普及。在介绍Set-Associative组成结构之前,我们简单回顾另外一种Cache组成结构,Sector Buffer方式[23]。假定在一个微架构中,Cache大小为16KB,转载 2014-03-09 14:50:26 · 6180 阅读 · 1 评论 -
Linux proc详解
Linux procfs详解1.0 proc文件系统总览在类Unix系统中体现了一种良好的抽象哲学,就是几乎所有的数据实体都被抽象成一个统一的接口--文件来看待,这样我们就可以用一些简单的基本工具完成大量复杂的操作。在Linux中存在着一类特殊的伪文件系统,用于使用与文件接口统一的操作来完成各种功能,例如ptyfs、devfs、sysfs和procfs。而procfs就是其中应用最广泛转载 2014-05-19 10:40:01 · 542 阅读 · 0 评论 -
Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文转载 2014-05-19 10:32:14 · 454 阅读 · 0 评论 -
linux下proc文件的读写
in Linux, proc文件系统是一个虚拟文件系统,用户和应用程序可以通过proc文件系统得到当前的一些系统信息,并可以改变一些内核的参数。/proc下的文件是一种特殊文件,不能够像一般文件一样创建删除。如果要创建一个 proc 文件,并且不用 proc_fs 默认提供的 file_operations 的话,可以使用 proc_create() 这个函数(见方法二),通过最后一个参数转载 2014-05-19 10:33:51 · 1195 阅读 · 0 评论 -
Linux内核模块编译
Linux内核模块是一种可被动态加载和卸载的可执行程序。通过内核模块可以扩展内核功能,内核模块通常用于设备驱动、文件系统等。如果没有内核模块,需要向内核添加功能就需要自发代码、重新编译内核、安装新内核等步骤。内核空间中不止一个程序试图访问驱动程序模块,导致一个内核块在没有被调用完毕之前又被其他程序调用,这称之炒代码的重入。因此在设计驱动模块的数据结构时要考虑数据结构在多线程环境下不被其他线程破转载 2014-05-21 11:22:56 · 496 阅读 · 0 评论 -
Android之Adapter用法总结
Android之Adapter用法总结1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(List View,Grid View)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:Android中所有的Adapter一览:转载 2014-08-09 18:50:17 · 548 阅读 · 0 评论 -
ListView之BaseAdapter的使用
Android杂谈--ListView之BaseAdapter的使用 前言 话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用Base转载 2014-08-11 17:54:37 · 671 阅读 · 0 评论 -
Android 众多的布局属性详解
Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料,花费本人一个下午搞出来的,希望对其他人有用。第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent转载 2014-08-11 17:00:49 · 557 阅读 · 0 评论 -
LayoutParams的用法
LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。 可以这样去形容LayoutParams,在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一转载 2014-08-12 11:27:39 · 532 阅读 · 0 评论 -
Android布局详解:LinearLayout
androidlayoutencoding虚拟机目录(?)[-]改动1改动2改动3总结原创文章,如有转载,请注明出处:http://blog.youkuaiyun.com/yihui823/article/details/6702312线性布局。这个布局简单的说,就是所有控件都依次排序,谁也不会覆盖谁。线性布局需要定义一个方向,横向(android:orient转载 2014-08-11 16:47:55 · 586 阅读 · 0 评论 -
LayoutInflater的使用
在实际工作中,事先写好的布局文件往往不能满足我们的需求,有时会根据情况在代码中自定义控件,这就需要用到LayoutInflater。LayoutInflater在Android中是“扩展”的意思,作用类似于findViewById(),不同的是LayoutInflater是用来获得布局文件对象的,而findViewById()是用来获得具体控件的。LayoutInflater经常在Ba转载 2014-08-11 16:15:45 · 425 阅读 · 0 评论 -
/proc 查看cpu个数,核数,超线程
判断依据: 一个物理封装的CPU(通过physical id区分判断)可以有多个核(通过core id区分判断)。而每个核可以有多个逻辑cpu(通过processor区分判断)。一个核通过多个逻辑cpu实现这个核自己的超线程技术。cpu cores 条目包含位于相同物理封装中的内核数量。siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。// proc文件转载 2014-03-08 11:58:37 · 1135 阅读 · 0 评论 -
英特尔多核平台编程优化大赛报告
代码优化前所需时间:4.765秒 代码优化后所需时间:0.25秒(保留小数点后7位精度) 前言 本次优化使用的CPU是Intel Xeon 5130 主频为2.0GHz 同Intel酷睿2一样是基于Core Microarchitecture 的双核处理器。本次优化在Intel的工具帮助下主要针对Core Microarchitecture 系列处理器进行优化。但是由于未知原因,Int转载 2014-02-10 11:54:53 · 821 阅读 · 0 评论 -
[转]MPI cluster技术简介与鸟哥的架设实例
MPI简介 MPI(Message Passing Interface)是消息传递并行程序设计的标准之一,当前通用的是MPI1.1规范。正在制定的MPI2.0规范除支持消息传递外,还支持MPI的I/O规范和进程管理规范。MPI正成为并行程序设计事实上的工业标准。 MPI的实现包括MPICH、LAM、IBM MPL等多个版本,最常用和稳定的是MPICH,曙光天潮系列的MPI以M转载 2014-02-10 11:39:28 · 2537 阅读 · 0 评论 -
CString之GetBuffer()
转载自:http://hayyoungsue.blog.163.com/blog/static/1238409772010214002734/LPTSTR GetBuffer( int nMinBufLength ) 这个函数是CString 的一个比较实用的函数,请看如下示例:GetBuffer(int nMinBufLength);的参数问题一直比较困扰人,网站的资料还像也不是太好给的转载 2013-03-18 10:37:14 · 848 阅读 · 0 评论 -
Linux下mpi环境配置与执行步骤(Ubuntu为例)
转载注明出处:http://blog.youkuaiyun.com/bendanban/article/details/9136755以两台计算机为例,将这两台计算机应用于MPI运行环境。第一步:在两台机器上安装Linux 操作系统我安装的是ubuntu 12.04,主机名随便你自己取,我命名两台机器为sinco和cosin。第二步:为两台机器设置固定的IP当然,我这里假设转载 2014-01-10 18:51:36 · 2477 阅读 · 0 评论 -
单机上安装、配置MPI并行环境(Linux版)
在单机上安装、配置MPI 并行环境1 Linux 的安装可以安装任何Linux 发布版, 推荐RedHat-9一些必须安装的包(关于如何用RedHat 的rpm 命令安装软件包可参看Maximum RPM)gcc 包GNU C, 用于C 程序的编译gcc-g77 包GNU Fortran 77, 用于Fortran 程序的编译rsh 包和rsh-server 包用于启动转载 2014-01-10 18:20:42 · 2409 阅读 · 0 评论 -
【vim】ubuntu12.04的vim的详细配置(更改Vim配置文件打造C/C++风格)
ubuntu12.04中使用的vim的版本不支持像语法高亮和文件类型检测等配置#sudo apt-get install vimvim默认的配置使用起来还不能让人满意,还需要自己配置默认配置文件是:/etc/vim/vimrc我们可以在家目录下建立自己的配置文件切换到家目录 #cd ~touch一个名为.vimrc的文件(以.开头的为隐藏文件)#vi .vimrc输转载 2014-01-10 19:12:39 · 2720 阅读 · 0 评论 -
Linux 下搭建MPI并行开发环境
步骤是混合了网上的上些文章,最终已经实现了运行~~一: 1) 安装openssh-client 和openssh-server $ sudo apt-get install openssh-client openssh-server 2)配置rsh原创 2014-01-10 20:04:50 · 1326 阅读 · 1 评论 -
linux下程序运行时间的获取方法
linux下程序运行时间的获取方法,1.有时候我们要计算程序执行的时间.比如我们要对算法进行时间分析 ..这个时候可以使用下面这个函数. #include int gettimeofday(struct timeval *tv,struct timezone *tz); strut timeval { long tv_sec; /* 秒数 */ lo转载 2014-01-19 22:51:51 · 721 阅读 · 0 评论 -
linux命令:time
【命令】time — 执行命令并计时 【格式】time [-p] command [arguments...] 【说明】 执行命令行"command [arguments...]",命令行执行结束时在标准输出中打印执行该命令行的时间统计结果,其统计结果包含以下数据: 1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间; 2)用户CPU时间(转载 2014-01-19 22:55:32 · 514 阅读 · 0 评论 -
浅谈Java SE、Java EE、Java ME三者的区别
1. Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。2. Java EE(Java P转载 2014-02-07 10:18:44 · 595 阅读 · 0 评论 -
Groovy入门教程
原文:http://blog.youkuaiyun.com/kmyhy/article/details/4200563Groovy入门教程kmyhy@126.com 2009-5-13一、groovy是什么简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中。作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似。同时,Gr转载 2014-02-07 10:40:15 · 526 阅读 · 0 评论 -
Groovy中的Actor模型
http://www.infoq.com/cn/news/2009/01/actor-in-groovy 性能是所有程序开发人员无法回避的问题,性能糟糕的程序只会将客户拒之门外,让开发商的声誉受损,让投资人的金钱打水漂。然而优秀的性能表现并非能免费获得,即便在当今的多核时代,一个单线程程序也不会因部署到多核机器上而使性能自动提升。不错,在众多提升性能的手段中,使程序并行化是其中最容易想到且转载 2014-02-07 11:52:48 · 895 阅读 · 0 评论 -
Groovy的并行处理框架 GPars
随着并行计算在计算机上的广泛应用(自己用的本本都已经是双核的了),并行计算软件也逐步走向台前,GPars就为我们用Groovy编写并行程序提供了方便。GPar( Apache 2 License),原名是 GParallelizer 。是为Groovy提供的一款开源并行类库,给我们提供了多种高级抽象,包括:map/reduce、fork/join、asynchronous closures、a转载 2014-02-09 10:24:19 · 1644 阅读 · 0 评论 -
利用多核多线程进行程序优化
大家也许还记得 2005 年 3 月 C++ 大师 Herb Sutter 在 Dr.Dobb’s Journal 上发表了一篇名为《免费的午餐已经结束》的文章。文章指出:现在的程序员对效率、伸缩性、吞吐量等一系列性能指标相当忽视,很多性能问题都仰仗越来越快的 CPU 来解决。但 CPU 的速度在不久的将来,即将偏离摩尔定律的轨迹,并达到一定的极限。所以,越来越多的应用程序将不得不直面性能问题,而转载 2014-02-10 14:23:07 · 1066 阅读 · 0 评论 -
[转]多CPU程序开发: OpenMP-MPI(机群)和CUDA(GPU)
CPU和GPU擅长和不擅长的方面从它们执行运算的速度与效率的方面来探讨这个论题。 CPU和GPU都是具有运算能力的芯片,CPU更像“通才”——指令运算(执行)为重+ 数值运算,GPU更像“专才”——图形类数值计算为核心。在不同类型的运算方面的速度也就决定了它们的能力——“擅长和不擅长”。芯片的速度主要取决于三个方面:微架构,主频和IPC(每个时钟周期执行的指令数)。转载 2014-02-09 20:46:02 · 4727 阅读 · 0 评论 -
mpich2用户手册(精简)
原文:http://blog.youkuaiyun.com/doupei2006/article/details/80656515.1 标准mpiexec 命令mpiexec开始一个MPI工作的最简单形式: mpiexec -n 32 a.out该命令是:使用32位的进程,执行a.out目标文件。mpiexec命令支持其他可选项,来指定哪台主机运行 并行算法程序,文件路径,指定开启转载 2014-02-10 10:58:56 · 1216 阅读 · 0 评论 -
Java IO操作
目录 FileInputStreamOutputStreamWriterReader流转换BufferedReader & BufferedWriterBufferedInputStream & Buffere转载 2014-08-11 14:34:00 · 434 阅读 · 0 评论