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