2011年12月1日 星期四

Usage of nvidia-smi

## show GPU short messages
nvidia-smi -L

## Display GPU detail info
nvidia-smi -q

## Disable GPU ECC memory
nvidia-smi --ecc-config=0
Reboot required.

## Set MODE for compute applications
##  0/DEFAULT
##  1/EXCLUSIVE_THREAD
##  2/PROHIBITED
##  3/EXCLUSIVE_PROCESS
nvidia-smi --compute-mode=3

2011年9月26日 星期一

英文標點符號

英文標點符號

.
句號
period
,
逗號
comma

分號
semicolon

冒號
colon

問號
question mark

驚嘆號
exclamation point
“ ”
雙引號
double quotation mark
‘ ’
單引號
single quotation mark

連字號
hyphen
––
破折號
dash
( )
括號
parenthesis
[ ]
方括號
square bracket
...
刪節號
ellipsis
/
斜線
slash
`
省略號
apostrophe

2011年9月22日 星期四

wxPython

## Install wxPython in CentOS 5.5

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
yum install wxPython.x86_64 wxPython-devel.x86_64

[references]
wxPython API

wxPyWiki
http://wiki.wxpython.org/FrontPage
http://wiki.wxpython.org/AnotherTutorial

LDS株式會社 blog
The wxPython tutorial
宅學習 python blog
Image Processing in Python
wxPython自製Control : 用Matplotlib畫圖表的FigurePanel
wxPython Programming Tutorial

http://wiki.pastwind.org/home/python-cheng-shi-yu-yan
http://garywlee.blogspot.com/2007/10/wxpython.html

2011年9月21日 星期三

Using Parallelism in Python

1. Cython (C-Extensions for Python)
http://cython.org/
wget http://cython.org/release/Cython-0.15.tar.gz
tar zxf Cython-0.15.tar.gz
cd Cython-0.15
python setup.py install

2. Multi-threading (built-in)
import threading

3. Parallel Python
http://www.parallelpython.com/content/view/17/31/

4. python-multiprocessing
Python 2.5/2.4 back port of the multiprocessing package
http://code.google.com/p/python-multiprocessing/

[references]
Does python support multiprocessor/multicore programming?
Practical threaded programming with Python
Basic Threading in Python
Understanding Threading in Python
Simple Python: a job queue with threading

http://hungic.blogspot.com/2008/08/pythonthreading.html
http://www.cppblog.com/riverbird/archive/2007/12/26/39704.html

2011年9月19日 星期一

Keyboard Shortcuts of Thunderbird

Keyboard Shortcuts


Go to Next MessageF
Go to Previous MessageB

2011年9月15日 星期四

美國學位縮寫

Associate Degree---副學士學位。兩年制社區大學
Community College)或兩年
制學院(
Two-year College)所
發給的學位。
Associate of ArtsA.A.專校文學文憑
Associate of Applied ScienceA.A.S.專校應用科學文憑
Associate in NursingA.N.專校護理文憑
Associate in Science A.S.專校理學文憑
Bachelor of ArchitectureB. Arch.建築學士
Bachelor of ArtsB.,  B.A.文學士
Bachelor of Arts in EducationB.A.Ed.,  B.A.E.教育學文學士
Bachelor of Arts in
Social Work
B.A.S.W.社會工作學文學士
Bachelor of Business
Administration
B.B.A.工商管理學士
Bachelor of EducationB.Ed.,  B.E.教育學士
Bachelor of EngineeringB.Eng., B.E.工學士
Bachelor of Fine ArtsB.F.A.藝術學士
Bachelor of General StudiesB.G.S.通識學士
Bachelor of Liberal StudiesB.L.S.文理學學士
Bachelor of MusicB.M., B.Mus.,音樂學士
Bachelor of Music EducationB.M.Ed., B.M.E.音樂教育學士
Bachelor of NursingB.N.護理學士
Bachelor of Professional
Studies
B.P.S.專業進修學士
Bachelor of ScienceB.S.理學士
Bachelor of Science in
Business
B.S.B., B.S.Bus.商學理學士
Bachelor of Science in
Business Administration
B.S.B.A.工商管理學理學士
Bachelor of Science in
Education
B.S.Ed., B.S.E.教育學理學士
Bachelor of Science in
Engineering
B.S.Eng., B.S.E.工程學理學士
Bachelor of Science in
Medicine
B.S.Med.醫學理學士
Bachelor of Science in
Medical Technology
B.S.M.T.,  B.S.Med.Tech.醫技學理學士
Bachelor of Science in NursingB.S.N., B.S.Nurs.護理學理學士
Bachelor of Science in
Social Work
B.S.S.W.社會工作學理學士
Bachelor of Science in
Technology
B.S.T.科技學理學士
Bachelor in Social WorkB.S.W.社會工作學士
Bachelor of TechnologyB.T.科技學士
Bachelor of LawLL.B.法學士
Certificate of Advanced
Graduate Study
C.A.G.S.研究所進修證明
Certificate of Advanced StudyC.A.S.高級進修證明
Master of ArtsM.A.文學碩士
Master of AccountingM.Acc.會計學碩士
Master of Arts in EducationM.A.Ed.教育學文學碩士
Master of ArchitectureM.Arch.建築學碩士
Master of Arts in TeachingM.A.T.教育文學碩士
Master of Business
Administration
M.B.A.工商管理學碩士
Master of Civil EngineeringM.C.E.土木工程學碩士
Master of Chemical
Engineering
M.Ch.E., M.C.E.化學工程學碩士
Master of Criminal JusticeM.C.J.刑事學碩士
Master of DivinityM.Div.神學學碩士
Master of EngineeringM.E.工程學碩士
Master of EducationM.Ed.教育學碩士
Master of Electrical
Engineering
M.E.E.電機工程學碩士
Master of Fine ArtsM.F.A.藝術碩士
Master of LawM.L.法學碩士
Master of Library ScienceM.L.S.圖書館學碩士
Master of MusicM.M., M.Mus.音樂碩士
Master of Music EducationM.M.E., M.M.Ed.音樂教育學碩士
Master of NursingM.N.護理學碩士
Master of Public
Administration
M.P.A.公共行政學碩士
Master of PsychologyM.Psy.心理學碩士
Master of ScienceM.S.理學碩士
Master of Science in
Criminal Justice
M.S.C.J.刑事理學碩士
Master of Science in
Education
M.S.E., M.S.Ed.教育理學碩士
Master of Science in
Electrical Engineering
M.S.E.E.電機工程理學碩士
Master of Science in
Library Science
M.S.L.S.圖書館理學碩士
Master of Science in
Medical Technology
M.S.M.T.醫技理學碩士
Master of Science in NursingM.S.N.護理理學碩士
Master of Science in
Social Work
M.S.S.W.社會工作理學碩士
Master of Social WorkM.S.W.社會工作學碩士
Doctor of ArtsD.A.文學博士
Doctor of Dental ScienceD.D.S.牙科博士
Doctor of EngineeringD.E.工程博士
Doctor of EducationD.Ed.教育學博士
Doctor of Musical ArtsD.M.A.音樂藝術博士
Doctor of OsteopathyD.O.骨科博士
Doctor of Social ScienceD.S.S.社會科學博士
Doctor of Veterinary MedicineD.V.M.獸醫學博士
Doctor of JurisprudenceJ.D.法理學博士
Doctor of Judicial ScienceJ.S.D.司法學博士
Education SpecialistEd.S.教育專士
OptometryO.D.視力驗光士


轉載來源: edu-fair

2011年8月26日 星期五

轉載: 智慧 財產 業績


論文刊載在 SCI/SSCI/TSCI/TSSCI 期刊上 vs 放在網路上, 到底何者的影響力 (impact) 比較大? 在這場 「封鎖知識 vs 釋放知識」 的戰爭當中, 轉而支持圖書館界、 支持 Open Access Journals (開放近用期刊) 不僅有利於社會, 更將有利於學者本身。 
學術發表是一個詭異的系統 -- 作者們並沒有拿到錢、 審論文的人並沒有拿到錢 (他們只是另一群付出免費勞力的學術人員)、 在某些領域, 甚至連期刊編輯也沒有拿到錢。 有些時候作者甚至還得付錢給出版社。 ... 但是科學論文卻又是價格貴得最嚇死人的文件。 -- Greg Maxwell
本校面臨期刊訂購經費嚴重不足窘境,不僅既有之訂購期刊難以持續,更遑論增訂各學科新出版期刊,抑制侷限了本校學術研究競爭力。 -- 每年花一億四千萬元訂閱期刊的臺灣大學
活躍於網路社會運動、 開放數位內容、 自由軟體界, 任職於哈佛大學的 24 歲程式設計師 Aaron Swartz 在 MIT 校園用程式大量下載學術期刊, 被美國總檢察長起訴, 並以一萬美元交保。 有趣的是, 這些期刊的著作權擁有者 JSTOR 表示只想確認 Aaron Swartz 並未散佈這些文件; 但美國聯邦政府卻還是執意繼續處理本案。 詳見 衛報報導、 Jason Kottke 的部落格報導 (有豐富的連結) 或搜尋 「Aaron Swartz JSTOR」。 根據 Jason Kottke 文章最後的 update 看來, 在此次事件當中, Aaron Swartz 的原意可能並不是要解放被封鎖的學術論文, 而是要大量分析這些學術論文背後的贊助單位。 (所以 JSTOR 才會說只要資料不外流就不追究)
原文: 學者的智慧, 期刊的財產, 圖書館的業績...或是負擔?

2011年8月12日 星期五

吉他名人

Eric Clapton 艾瑞克克萊普頓


Carlos Santana

Tommy Emmanuel


Richard Max 理查瑪爾克斯

Lauryn Hill 蘿倫希爾

Rob Thomas 羅伯湯瑪斯

Dido 蒂朵

Seal 席爾

Dave Matthews 大衛馬修

2011年7月29日 星期五

CentOS 6 Releases

July 10th 2011

The CentOS team is pleased to announce the immediate availability of CentOS-6.0 for i386 and x86_64 Architectures.

CentOS-6.0 is based on the upstream release EL 6.0 and includes
packages from all variants. All upstream repositories have been combined into one, to make it easier for end users to work with.

http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.0

How to get the CPU core number

Use sched_getcpu to determine the CPU on which the calling thread is running. See man getcpu (the system call) and man sched_getcpu (a library wrapper).

example:

#include <stdio.h>
#include <utmpx.h>
int main()
{
int c, s;
int cpu;
cpu = sched_getcpu();
printf("id=%d\n", cpu);
return 0;
}

Ps. linux version > 2.6.19

references:
How can I get the CPU core number from within a user-space app (Linux, C)?
INTEL DOC

Intel Xeon serial info

Xeon 7000 multi procesor configuration on MB
Xeon 5000 dual processoer configutation on MB
Xeon 3000 single processor

Letter Prefix:
X = Performance
E = Mainstream (rack mount)
L = Power Optimized

2011年7月26日 星期二

轉載: Java與C++的比較

--------------------------------------------------------------------------------

作者 tinlans.bbs@whshs.cs.nccu.edu.tw (汀), 看板 Language
標題 Re: 請問為什麼 Java 比 C++ 更熱門?
時間 政大狂狷年少 (Thu Apr 14 04:44:10 2005)
來源 SimFarm!zoonews.ee.ntu!bbs.ee.ntu!news.ntu!Spring!ctu-peer!news.nctu!n
───────────────────────────────────────

※ 引述《HZYSoft.bbs@ptt.cc (PCMan 2004)》之銘言:
> http://kano.net/javabench/ 這篇就是在講 java 可以比 C++ 快的狀況
> 另外網路上還有非常多類似的 benchmark,理論不是絕對正確,有時應該讓數字說話
> 我以前看到一篇很完整的 benchmark,現在已經找不到了。
這篇很久之前我就讀過了,但是相當遺憾的,
那篇有非常非常多的問題在,相信你應該逛過它的 revisited 網站,
也看過 http://www.freewebs.com/godaves/javabench_revisited/ 這篇。
> 我自己是 C++ 的愛用者,沒在寫 java,不過我相信 java 確實不一定會比較慢
> C++ 不應該被神化,在很多地方他的效能確實不好,在一些應用上不見得強過 java
> 這個議題是相當具有爭議性的,ACM 上面也有論文在探討這個,可惜我看不到。
> 網路上充滿大量 benchmark,結論卻是很兩極化。身為 C++ 愛用者我們不能只看到
我們先來複習一下「Computer Architecture」課本,
benchmark 的準確性在 Computer Architecture: A Quantitative Approach 一書中,
被依照預測準確性由高至低分為五個層級:
1. real applications
2. modified (or scripted) applications
3. kernels
4. toy benchmarks
5. synthetic benchmarks
您所提及的網站中所列的 benchmark,大多位於第五個層級。

2011年7月5日 星期二

備份 putty的設定

要備份及回復Putty的設定,只要使用下面兩個指令就可以了。

備份設定請用:

> regedit.exe /e PuTTY.reg HKEY_CURRENT_USER\Software\SimonTatham

回復設定,請用:

> regedit.exe /i Putty.reg

其中,Putty.reg就是Putty的設定資訊,您可以將它複製到不同的電腦,再以同樣的回復步驟就可以有一樣的設定了。

2011年6月9日 星期四

gprof 看程式效能分析

gcc 加參數看程式的performance 分析

compiler 時加參數 -pg
gcc -pg test.c
./a.out

然後, 執行程式後會產生出gmon.out

gprof a.out > test
去看 test 檔, 可以看到很多有用的 performance analysis 的資訊

subroutine 執行幾次, 被那些呼叫, 佔執行時間多少, 等等..

References:

使用Gnu gprof進行Linux平臺下的程序分析
http://dipeng.blog.hexun.com.tw/12501019_d.html

使用Gnu gprof進行Linux平台下的程序分析
http://southmaster.com/article/pub.php?page=red2.php&id=3255

資料型態 DataType

程 式在執行的過程中,需要運算許多的資訊,也需要儲存許多的資訊,資訊是儲存在記憶體空間中,由於資料的型態各不相同,在儲存時所需要的容量不一,不同的 資料必須要配給不同的空間大小來儲存,因而有了「資料型態」(Data type)的規範。

C++中基本的資料型態主要區分為「整數」(Integer)、「浮點數」(Float)、「字元」(Character),而這幾種還可以細分,如下所 示:
整數
用 來表示整數值,可以區分為short、int、與long,可容納的大小各不相同,short的長度為半個word,int表示一個word,而long 可能是一個或兩個word,在32位元機器上int與long的長度通常是相同的,型態的長度越長,表示可表示的整數值範圍越大。
浮點數
用 來表示小數值,可以區分為float、double與long double,float的長度為一個word,double的長度為二個word,long double長度為3或4個word。
字元
用 來儲存字元,長度為1個位元組,其字元編碼主要依ASCII表而來,由於字元在記憶體中所佔有的空間較小,所以它也可以用來儲存較小範圍的整數。


以上的資料型態在記憶體中所佔有的大小依平台系統而有所差異,word的大小取決於機器,在32位元機器上通常一個word是4個位元組,如果想要知道這 些資 料型態在您所使用的平台上,所佔有的記憶體空間有多少,最好的作法是使用sizeof()運算子,它可以告訴您確實的記憶體大小,下面這個程式是個簡單的示範(64 bit):


Data type       (bytes)
int     4
long    8
float   4
double  8
char    1

參考資料
http://en.wikipedia.org/wiki/C_data_types
http://en.wikipedia.org/wiki/Integer_(computer_science)
http://caterpillar.onlyfun.net/Gossip/CppGossip/DataType.html
C code 與 assembly output 交叉出現

2011年5月31日 星期二

C floor

a=0.3/0.0125;
printf("a1=%f\n", a);
printf("floor(a1)=%g\n", floorf(a));

a=floorf(0.3/0.0125);
printf("a1=%f\n", a);


printf("%f\n", floor((0.3/0.0125)));


a1=24.000000
floor(a1)=24
a1=24.000000
23.000000


在C 和Fortran 得到的結果不一樣, 原來在C 語言中要用floorf!! XD

補充

ceil(x) 返回不小于x的最小整数值 (天花板)
floor(x) 返回不大于x的最大整数值 (地板)
round(x) 返回x的四舍五入整数值

2011年5月18日 星期三

HPCC notes

修改CCFLAGS,如果用mpich,是$(HPL_DEFS) -fomit-frame-pointer -03-funroll-loops -W –Wall,

用openmpi就要修改成 $(HPL_DEFS) -03


HPL 產生器
http://www.advancedclustering.com/faq/how-do-i-tune-my-hpldat-file.html


HPCC inf 說明
http://onetfbao.spaces.live.com/blog/cns!393E9866CAB6E396!367.entry 
http://www.orientsky.com.cn/_new/Printpage.asp?ID=1496
http://onemansjourneyintolinux.blogspot.com/2009/01/hpl-tuning.html

如何做Linpack测试及性能优化
曹振南
http://www.netlib.org/benchmark/hpl/faqs.html

2011年5月4日 星期三

python 處理參數時的做法

sys.argv
getopt

http://www.faqs.org/docs/diveintopython/kgp_commandline.html

global variable in python

在Python 中修改到全域變數時要宣告global


globvar = 0
def set_globvar_to_one():
    global globvar    # Needed to modify global copy of globvar
    globvar = 1
def print_globvar():
    print globvar     # No need for global declaration to read value of globvar

set_globvar_to_one()
print_globvar()       # Prints 1

2011年4月28日 星期四

upgrade python 2.4.3 to 2.5.5 in Centos 5.5 or 5.6

http://www.python.org/ftp/python/2.5.5/Python-2.5.5.tar.bz2

tar jxf Python-2.5.5.tar.bz2
cd Python-2.5.5
./configure
make
make test
make install

2011年4月22日 星期五

"SyntaxError: invalid syntax" with python 2.4

在python 2.4 使用try-except-finally 時出現(如下), 是因為要到python 2.5 時才完全支援try-except-finally


File "try-except.py", line 13
    finally:
          ^
SyntaxError: invalid syntax

in python 2.4 可以改用

try:
    try:
    except:
finally:

2011年4月21日 星期四

Upgrade CentOS 5.5 to 5.6


yum clean all
yum update glibc\*
yum update yum\* rpm\* pyth\*
yum clean all
yum update mkinitrd nash
yum update selinux\*
yum update
shutdown -r now

Reference:
[] http://wiki.centos.org/zh-tw/Manuals/ReleaseNotes/CentOS5.6

2011年1月31日 星期一

Upgrade CentOS 5.4 to 5.5

方法一:

yum clean all
yum update glibc\*
yum update yum\* rpm\* python\*
yum clean all
yum update
reboot

方法二:

Clean All Packages
# yum clean all

The following command will get a list of packages that are going to be updated.
# yum list updates

Lets begin upgrading CentOS 5.4 to 5.5
# yum update

Finally reboot the server for Kernel changes to take effect
# reboot

檢查版本
lsb_release  -a




[references]
http://www.how2centos.com/upgrading-centos-5-4-to-5-5/
http://www.unixmen.com/news-today/999-centos-55-is-out-upgrade-now-from-centos-54-to-55

2011年1月25日 星期二

常用的 Python指令及其說明

常用的 Python指令及其說明 [轉載: 我是孩子王

sys模組:

argv: 命令列參數。
exit([arg]): 結束程式。
exitfunc: 若有指定此函式,程式結束前會先呼叫此函式。

getopt模組:

getopt(args, options[, long_options]): 解譯命令列參數選項的工具。

2011年1月18日 星期二

getopt 分析命令行參數

getopt()用來分析命令行參數。參數argc和argv是由main()傳遞的參數個數和內容。參數optstring 則代表欲處理的選項字符串。此函數會返回在argv 中下一個的選項字母,此字母會對應參數optstring 中的字母。如果選項字符串裡的字母后接著冒號“:”,則表示還有相關的參數,全域變量optarg 即會指向此額外參數。如果getopt()找不到符合的參數則會印出錯信息,並將全域變量optopt設為“?”字符,如果不希望getopt()印出錯信息,則只要將全域變量opterr設為0即可。

http://www.gnu.org/s/libc/manual/html_node/Getopt.html

2011年1月3日 星期一

cout and printf in OpenMP

Many implementations of printf acquire a lock to ensure that each printf call is not interrupted by other threads.

In contrast, std::cout's overloaded << operator means that (even with a lock) one thread's printing of i and ' ' and '\n' can be interleaved with another thread's output, because std::cout << i << " " << endl; is translated to three operator<<() function calls by the C++ compiler.

[References]
http://stackoverflow.com/questions/4459888/openmp-c-and-c-cout-printf-does-not-give-the-same-output
http://berenger.eu/blog/2010/12/06/c-openmp-stdcout-print-with-openmp/