20150501

1. 영어 기사 읽기
1) Sofia Vergara’s ex Nick Loeb speaks out about frozen embryos dispute, CNN
2) Parkinson’s Pen Vibrates to Improve Legibility, Scientific American
– Parkinson’s disease causes tremors or stiffness that can turn everyday tasks such as eating, brushing teeth or writing into frustrating chores. (tremor – 약간의 진동)


2. SIGARCH ([HPCA’15] Adaptive-Latency DRAM Optimizing DRAM Timing for the Common-Case)
기존의 DRAM timing parameter가 보수적으로 잡혀있다. 최악의 셀과 최악의 작동 환경을 가정하고 timing parameter를 잡기 때문이다. 컴퓨터는 일반적으로 섭씨 50도 내외의 온도에서 작동하므로 timing parameter 변경 여지가 있다. 이를 활용해 DRAM을 조금 더 빨리 동작하게 할 수 있다. 상황에 따라 adaptive한 latency를 갖도록 함으로써, 성능 향상을 꾀하자는 것이다.


3. gem5 simulator
어제 gem5에서 제공하는 full system 이미지에서 wrf가 제대로 실행되지 않는다고 했는데, RRTM_DATA를 바꾸니 잘 실행되었다. 아래는 어제 확인한 에러 메시지이다.

 -------------- FATAL CALLED ---------------
 module_ra_rrtm: error reading unit   10                                         
 -------------------------------------------
STOP wrf_abort

wrf에서는 RRTM_DATA를 입력으로 받는다 (2014/11/07). RRTM_DATA는 big endian, little endian, 32bit, 64bit 여부에 따라 네 종류의 파일이 있다. little endian 64bit로 하니 실행이 잘 되었다. 기존에 내가 쓰던 RRTM_DATA는 little endian 32bit이다.


4. 두 개의 파일이 같은 파일인지 확인하는 방법
md5sum 명령어를 사용하면 같은 파일인지 쉽게 확인할 수 있다.

$md5sum file_01
3fcac9b79ab88e8f3f8dea9a4d69a347  file_01
$md5sum file_02
5eb63bbbe01eeed093cb22bb8f5acdc3  file_02

References:
[1] Bob Moss, How to verify your files in Linux with MD5, http://www.techradar.com/news/computing/pc/how-to-verify-your-files-in-linux-with-md5-641436


5. Graphite simulator build 시도
Graphite simulator 빌드를 시도해보았다. 맨 마지막에 링크 에러로 인해 성공하지는 못했으나, 대부분의 에러는 잡았다.
우선 빌드 옵션에서 Werror를 제거해준다. 빌드 환경에 따라 warning이 발생하기도 하는데, Werror 플래그가 설정되어 있으면 warning으로 인해 빌드가 되지 않는다.

//./common/Makefile.common
...
# Boost library
BOOST_SUFFIX = mt
LD_LIBS += -lboost_filesystem-$(BOOST_SUFFIX) -lboost_system-$(BOOST_SUFFIX)

# Include paths
CXXFLAGS += $(foreach dir,$(INCLUDE_DIRECTORIES),-I$(dir)) \
            -Wall -Werror -Wno-deprecated-declarations -Wno-unknown-pragmas\
               $(DBG_FLAGS) $(OPT_FLAGS) -fPIC -DKERNEL_$(KERNEL)
...

다음과 같은 에러가 발생하기도 하는데, 이 때에는 해당 파일에서 코드를 수정해주면 된다.

In file included from /home/gumdaeng/Simulators/Graphite/common/..//common/shared_models/queue_models/queue_model_basic.h:4:0,                 from /home/gumdaeng/Simulators/Graphite/common/..//common/shared_models/queue_models/queue_model_basic.cc:3:/home/gumdaeng/Simulators/Graphite/common/..//common/misc/moving_average.h: In instantiation of ‘T MovingGeometricMean<T>::compute(T) [with T = long unigned int]’:
/home/gumdaeng/Simulators/Graphite/common/..//common/shared_models/queue_models/queue_model_basic.cc:61:1:   required from here/home/gumdaeng/Simulators/Graphite/common/..//common/misc/moving_average.h:132:30: error: ‘addToWindow’ was not declared in this scope, and no declaraons were found by argument-dependent lookup at the point of instantiation [-fpermissive]          addToWindow(next_num);                              ^/home/gumdaeng/Simulators/Graphite/common/..//common/misc/moving_average.h:132:30: note: declarations in dependent base ‘MovingAverage<long unsigned in>’ are not found by unqualified lookup/home/gumdaeng/Simulators/Graphite/common/..//common/misc/moving_average.h:132:30: note: use ‘this->addToWindow’ insteadIn file included from /home/gumdaeng/Simulators/Graphite/common/..//common/shared_models/queue_models/queue_model_basic.h:4:0,                 from /home/gumdaeng/Simulators/Graphite/common/..//common/shared_models/queue_models/queue_model_basic.cc:3:/home/gumdaeng/Simulators/Graphite/common/..//common/misc/moving_average.h: In instantiation of ‘T MovingArithmeticMean<T>::compute(T) [with T = long usigned int]’:/home/gumdaeng/Simulators/Graphite/common/..//common/shared_models/queue_models/queue_model_basic.cc:61:1:   required from here/home/gumdaeng/Simulators/Graphite/common/..//common/misc/moving_average.h:101:30: error: ‘addToWindow’ was not declared in this scope, and no declaraons were found by argument-dependent lookup at the point of instantiation [-fpermissive]          addToWindow(next_num);                              ^/home/gumdaeng/Simulators/Graphite/common/..//common/misc/moving_average.h:101:30: note: declarations in dependent base ‘MovingAverage<long unsigned in>’ are not found by unqualified lookup/home/gumdaeng/Simulators/Graphite/common/..//common/misc/moving_average.h:101:30: note: use ‘this->addToWindow’ insteadmake[2]: *** [/home/gumdaeng/Simulators/Graphite/common/..//common/shared_models/queue_models/queue_model_basic.o] Error 1make[2]: Leaving directory `/home/gumdaeng/Simulators/Graphite/common'make[1]: *** [ping_pong] Error 2make[1]: Leaving directory `/home/gumdaeng/Simulators/Graphite/tests/apps/ping_pong'make: *** [ping_pong_app_test] Error 2

addToWindow 함수 앞에 클래스 명을 붙여준다.

//./common/misc/moving_average.h
//addToWindow(next_num);
MovingAverage<T>::addToWindow(next_num);

다음과 같은 에러가 발생하는 것은 Makefile.config에 pin의 경로가 제대로 설정되어있지 않기 때문이다. Pin은 같은 버전을 써야 빌드가 된다. (pin-2.13-62141-gcc.4.4.7-linux)

In file included from /home/gumdaeng/Simulators/Graphite/pin/../pin/thread_start.cc:4:0:/home/gumdaeng/Simulators/Graphite/pin/../pin/thread_start.h:5:17: fatal error: pin.H: No such file or directory #include "pin.H"                 ^compilation terminated.

하지만 여전히 에러가 발생해 빌드에 성공하지는 못함.

/usr/bin/ld: cannot find -lmcpat
/usr/bin/ld: cannot find -ldb_utils
Advertisements
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 101,234 hits
%d bloggers like this: