2015년 7월 30일 목요일

dropbox problem in ubuntu 14.04

After updating Ubuntu, at some point
the dropbox does not work/start properly.

Dropbox daemon, 'dropboxd', is located at '.dropbox-dist/'.
It seems like there is some version problem in daemon.
So, I am trying to solve this by

sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i

However, it does not solve the problem.

So, I look the Dropbox homepage and followed the instruction,

32-bit:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
64-bit:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
Next, run the Dropbox daemon from the newly created .dropbox-dist folder.
~/.dropbox-dist/dropboxd &

At least, this works. But because it is a directly installed, automatic update
will not work.  




2015년 7월 15일 수요일

(퍼옴) 부동산 직거래 절차

부동산 직거래 절차

주택 매매계약 절차

계약전 확인: 

■ 소유자의 이름 계약상대방의 본인여부 확인. 본인이 나온 경우, 주민등록증으로 대
조확인. 대리인이 나온 경우, 주민등록증, 위임장, 인감증명서.

■ 관할 등기소에 가서 토지, 건물 등기부등본 각 1통. 시청에 가서 건축물관리대장과 토지대장, 토지이용계획확인원 각 1통을 발급. 
권리관계(압류, 가압류, 근저당, 가등기, 가처분 등) 
사실관계(무허가건물 여부, 과세완납 여부,임대차,물리적 하자여부 등)를 확인


매도인, 매수인의 계약시 준비사항을 보면 다음과 같습니다.
1) 매도인 준비사항 : 본인일 경우 주민등록증이나 면허증, 대리인일 경우 위임장 및 주민등록증, 도장
2) 매수인 준비사항 : 도장, 계약금
3) 권리관계 확인에 필요한 사항 : 등기부등본, 토지대장, 건물대장, 공시지가확인원, 토지이용계획확인원 등

부동산매매 계약시 주의사항
1) 해당 지번 및 지적확인 : 해당 물건의 현장과 공부상의 기재사항이 일치하는지 확인합니다.
2) 등기부등본확인 : 매도인이 실제 소유자인지 확인하며, 계약직전, 중도금, 잔금지급시 마다 그 직전에 권리변동 여부를 확인한다. 대급지급시 영수증을 반드시 받아야 합니다.
3) 토지대장.건축물대장확인 : 토지대장과 소유자의 일치여부, 위법건축물, 미등기 건물이 아닌지 확인합니다.
4) 잔금지급 시 동시이행 사항 : 등기권리증.인감증명서 등을 받습니다, 소유권 이전등기 절차를 밟습니다.

부동산매매계약서 작성 방법
1) 공적 장부(토지.건물 등기부등본, 토지대장.건축물대장)와 물건과의 사실관계와 권리관계를 확인합니다.
2) 계약 당사자의 인적사항이 주민등록증과 일치 하는지 본인 여부를 확인합니다.
3) 매매금액 지급방법과 매매 부동산의 인도 방법을 명확히 합니다.
4) 필요한 경우 계약위반시 배상문제를 특약조항에 추가합니다.
5) 부동산매매계약서에 매도인, 매수인 모두 서명 날인 합니다.
6) 상호 날인한 부동산매매계약서계약서를 각 1통씩 보관합니다.

마지막으로 부동산 직거래가 완료된후 소유권 인기를 해야 자신의 소유로 등록이 되는데요..
셀프등기도 가능하나 이 부분이 복잡하게 느끼지신다면 소유권 이전 등기만 법무사를 통해 하는 방법이 있습니다. 이때 약 30만원정도의 비용이 발생됩니다.
이 비용마져도 아끼고자 한다면 셀프등기를 알아보고 진행하면 되겠습니다.

계약시 확인:

■ 계약금은 보통 10%, 중도금은 보통 40%, 잔금은 나머지. 기간은 30일~60일 이내.
물론 사정과 협의에 따라 어느 정도 조정이나 절충은 자유. 부동산에서 매매 계약 체결,
잔금지급 및 법무사 대행 등기이전.


■ 계약서 내용 중 확인사항 - ① 계약당사자의 인적 사항, 매매목적물  표시 (주소,구조,층수,용도,면적 : 등기부 내용 )  ② 매매금액 ③ 매매금액 지급방법
④ 매매부동산의 인도방법 ⑤ 계약위반시 배상문제 ⑥ 계약 년·월 ·일 등

계약서를 작성하면서 계약금을 지급할 경우 계약금을 이미 지급했다는 사실을 증거로 남기기 위해 계약금 옆에 '수령 필'이라고 쓰고 받은 사람의 도장을 찍기도 합니다. (중도금과 잔금을 지급한 날짜는 '계약일로부터 2개월 후'라고 쓰기보다는 'OO년 O월 O일'과 같이 명확하게 특정하여 기록하는 것이 좋습니다.^^)

부동산매매는 거래 규모가 큰 만큼 가급적 인감도장과 인감증명서를 사용해야 합니다

대리인의 경우 위임장 인감과 소유자의 인감증명서를 대조해보고 인감증명서의 유효기간(6개월)도 확인

■ 계약서 작성요령
부동산 표시란에는 가능한 한 상세히 기재한다.(너무 간략하게 표시하면 등기신청이
불가능하여 다시 매매계약서를 작성해야 하는 경우도 있음).
일시불이나 중도금이 없는 경우는 '해당없다'는 표시를 한다.
잔금수령과 소유권이전등기신청서 교부 및 부동산의 명도는 당사자의 특약이 없는 한
동시이행의 관계가 성립된다.
계약서는 공증을 해 놓으면 후일 확실한 증거력을 가지게 되어 분실의 위험이 없고,
채무불이행시 재판을 통해 강제집행을 할 수 있다.
계약조항이 모두 기재되면 이의없음을 확인하여 서명날인 후 계약서를 매도자,매수인,
중개업자가 각 1통씩 갖는다.
당사자의 표시는 주민등록증에 표시된 정확한 내용을 기재한다. 성명란은 본인이 직접
쓰도록 하고 도장은 인감도장을 찍게 한다.

계약서에는 보통 다음사항이 기재됩니다.

(1) 목적물의 표시 및 명도시기 / 계약상목적물이 등기부등 공부와 실제가 다를 경우 그에대한 표시등
(2) 이행의 약정 - 대금의 액수, 지불 시기
(3) 매도인/ 매수인(임대 임차인) /중개인(당사자직거래시는 불필요)의 이름, 주소, 주민등록 번호 ,연락처, 날인등
(4) 매도인의 담보책임/ 해제권/ 해약금/ 조세공과등의 부담등
(5) 기타 특약사항 -당사자가 합의한 조건등

부동산을 취득하거나 양도하여 등기하거나 세금을 신고할 때는 반드시 검인계약서를 사용해야 합니다. 
검인계약서는 특별한 양식이 있는 것이 아니라 일반계약서에 검인도장을 받은 것을 말합니다.
이 검인계약서 제도는 '88년 10월부터 시행되고 있습니다.


대금 지급 및 등기:

■ 잔금지급시 유의사항
중도금 및 잔금 지급시에도 등기부등본을 한번 더 확인한다. 저당권, 임차권, 전세권 등
인수시 해당금액의 금융기관으로부터 잔고증명을 받아 확인한다.
각종 세금 및 공과금에 관한 서류를 확인한다. 특히 매도용 인감증명서에 기재된 매수인의
인적사항을 확실히 체크한다.
중개대상물건 확인설명서를 교부받고 중개수수료를 지불한다.

<계약조항 검토 후 특약사항란에 명시할 사항>
계약 당시의 등기부상 권리관계 상태를 잔금지불시까지 유지하여 양도한다는 내용.
잔금지불과 동시에 등기이전에 관련된 일체의 서류를 교부한다는 내용.
잔금일을 기준으로 공과금과 세금을 정산한다는 내용.
각종 권리제한 등에 대한 말소 또는 인수에 대한 내용.
<소유주 확인>
만약 실소유주(등기명의인)가 아닌 사람과 계약서를 작성한다면 위임장이 필요하다.
위임장없이 실소유주가 아닌 사람과 맺은 계약은 원칙적으로 무효다. 대리 계약자가
부부간이든 부자지간이든 법적으로 대리권은 없다.
위임장을 확인할 때는 위임장에 찍힌 인감과 소유자의 인감증명서를 대조해 봐야
하며, 인감증명서의 유효기간(6개월)도 확인하여야 한다. 등록된 공인중개사가 직접
계약서를 작성하는지 확인한다.

■ 등기부등본 열람 요령
단독주택은 건물등기부와 토지등기부가 따로 있다.
등기부등본은 <표제부, 갑구, 을구>로 구분되어있다.
아파트는 표제부가 2개이다. 첫번째표제부는 1동의 건물전체에 관한 것이다. 전체
몇 층, 전체 토지 면적이 표시되어있다. 건축물의 종류를 잘 보아두어야 하고 언제
지어졌는지를 살핀다. 그 다음 표제부는 전유부분에 관한 것이다. 내 집이 몇동 몇호인지
표시되어있다. 전용면적을 여기서 확인한다. 계단, 복도 등 공용부분과 발코니를 뺀 순수한
내 소유면적이다. 중개업자들이 간혹 이 전유부분 면적을 가지고 과대선전하는 경우가
있으므로 잘 살펴보아야한다.
갑구는 소유권에 관한 내용이 들어있다. 소유자가 바뀐 상황이 나오고, 소유권이전가등기,
압류나, 가압류같은 내용이 있는지 살핀다.
을구는 저당권, 근저당권, 전세권 등의 변동사항이 기재되어있다. 갑구와 을구가 깨끗할
수록 안전하다고 볼 수 있다.
열람일자를 반드시 살핀다. 날짜가 지난 것이면 아무 소용이 없다. 대개 중개업소에서는
당일 열람한다.

계약후:

계약체결후에 중도금/잔대금을 지급할때는 반드시 영수증을 주고받고 대금지급의 내용을 명확히 하여야 합니다.
등기부는 중도금 지급, 잔금 지급시마다 그 "직전에" 확인하여야 합니다.

나아가 잔금을 치를 때 다시 등기부등복을 떼 계약 이후에 새로 저당권 등이 설정됐는 지 확인하여
중도금을 받고도 이중으로 매도하는 수가 있기 때문입니다. (이경우 형법상 횡령죄가 성립합니다.)
계약금을 지불한 사람은 그것을 포기하고 , 계약금을 받은 사람은 그 배액을 배상할 경우 계약을 해제할 수 있으며
이 때 계약금은 곧 해약금이 됩니다.


실제 거래에서 약정금, 보증금, 계약금 등 다른 이름으로 지불되었더라도 해약시
이 금액은 원칙적으로 해약금이 됩니다.


중도금이 지불되면 일방의 해약이 불가능합니다. 중도금은 계약금과 잔금지급 사이에 매도인
(임대인)에게지급하는 금액으로서 당사자가 계약이행에 착수했음을 확인하는 금액입니다.

중도금이 지불되기 전까지만 이 계약을 해제할 수 있는 기간입니다.

등기서류와 잔금지급은 등기소등에서 등기서류의 확인과 동시에 지급함이 안전합니다.

잔금을 지불할 때 매도인으로부터 건네받아야 할 서류는 인감증명서(부동산매도용) 1통, 등기권리증,

주민등록등본, 검인용 매매계약서 각 1통입니다.


또한 잔금을 지급할 때 재산세와 종합토지세를 집주인과 정산해야 합니다. 중도금을 건넬 때 지방세가 밀렸는지도 확인해야 합니다.


매입자는 입주 이후의 세금만 내면 됩니다. 재산세와 종합토지세는 과세기준일이 각각 5월 1일과 6월 1일입니다.
과세액에 입주부터 차기 과세기준일까지의 개월수를 곱한 뒤 12로 나눠 납부액을 계산합니다.

중도금을 건넬 때는 지방세가 체납됐는지 챙겨보아야 합니다.
집주인이 지방세를 미납했을 때는 계약서를 관할 시군구 지적과에서 검인받을 수 없습니다.


잔금을 지급함과 동시에 매도인으로부터 등기권리증, 인감증명서등 권리이전서류를 받아 60일 이내에
관할등기소에 이전등기 절차를 마치도록 합니다. 만약 이기간내에 등기신청을 하지 않았을 경우에
최고등록세액의 300%까지 등기신청 해태에 따른 과태료가부과됨을 유의하여야 합니다.


이전등기 수속을 마친후 등기부등본을 떼어서 이전등기가 된 것을 확인해야 합니다.

또한 부동산거래와 관련하여 부동산양도신고제라는 것이있는데
97년 1월1일부터 거주자가 부동산을 매매하는 경우, 등기하기전에 거래내용을 양도자 주소지 관할세무서장에게
신고하고 ,세무서장이 발급하는 부동산양도신고확인서 를 첨부하여 ,등기소에 제출해야 소유권이전이 가능합니다.

매수인이 잔금까지 모두 지급하게 되면 이와 동시에 매도인은 등기필증(집문서)와 매도용 인감증명서를 교부해 줍니다.

등기 이전절차

■ 예) 6000만원에 주택 구입. 600만원 계약금. 중도금 3000만원 지불. 잔금 2400만원.
쌍방 합의 하에 중도금을 지불하면 등기이전. 공인중계사가 "중도금 지불할때 인감증명서와
주민등록등본, 인감도장, 그리고 세금(취득세 등 150만원정도)를 준비해 달라." 요청.

■ 등록세, 교육세, 취득세 납부. 국민 채권 구입.
매매계약서를 구청(시, 군청)에 가서 검인을 받고, 세무과에 가서 세금(취,등록세)을 발급
받아서 납부하고, 등기소에 접수. 접수 3일 후에 등기소에 가셔서 찾으면 된다.
(본인이 직접 할 경우 과표계산이 가장 어렵다.)
매도인에게서 등기권리증, 매도용인감증명서, 주민등록초본(과거 주소 포함된 것),
인감도장을 받고, 매수인은 주민등록초본을 준비한다. 
(등기신청서에 첨부하는 인감증명, 법인등기부등·초본, 주민등록등·초본, 호적등·초본,
토지대장 및 건축물대장등본은 발행일로부터 3월 이내의 것이어야 한다.)
등기위임장에 매도인의 인감도장을 찍고 매수인도 도장을 찍는다.
실거래신고서를 작성하여 구청(시청)에서 신고필증을 받는다. 지적과에서 토지대장,
건축물대장을 발급받는다.
계약서와 신고필증을 가지고 세무과에서 취득세와 등록세고지서를 발급받고, 세금을
납부한다,
채권은 건교부 사이트에서 아파트공시가격을 확인하고, 국민은행에 가서 채권을 매입한다.
대법원증지(14,000원)도 산다.(매매가액이 1억이 넘을 경우 인지를 구입한다.)
등록세 영수증과 증지, 인지를 신청서에 붙이고 등기소에 접수한다.
접수 후 3일 뒤에 등기소에 가서 등기권리증을 찾아온다.

■ 더 상세하게 설명하면,
1. 부동산 관할 시,군,구에 가서 부동산실거래가 신고를 한다.
2. 등록세 납부 후 납부영수증, 영수필 확인서 및 통지서를 받는다.
3. 취급은행에서 국민주택채권을 매입한다.
4. 등기신청서를 작성하고 거래신고필증 등 위 준비서류를 첨부하여 등기소에
신청한다.
5. 소유권이전등기 완료시 등기권리증 접수 및 등기부등본을 확인한다.

■ 편철순서
신청서-위임장-매도용인감증명서-주민등록초본(매도인,매수인)-토지대장,건축물대장
-거래신고필증- 매매계약서사본-매매계약서 원본-거래신고필증원본-등기권리증 순.

부동산등기법 제40조 1항, 개정 2008.3.21)
등기신청에 필요한 서면 즉 등기소에 갈때 가져가야할 서류는 아래와 같다.
1. 등기신청서
2. 등기원인을 증명하는 서면(매매계약서 등)
3. 등기의무자의 권리에 관한 등기필증
4. 등기원인에 대하여 제3자의 허가, 동의 또는 승낙이 필요할 때에는 이를 증명하는 서면
6. 소유권의 보존 또는 이전의 등기를 신청하는 경우에는 신청인의 주소를 증명하는 서면
8. 토지대장·임야대장·건축물대장의 등본, 그 밖에 부동산의 표시를 증명하는 서면
9. 매매에 관한 거래계약서를 등기원인을 증명하는 서면으로 하여 소유권이전등기를 신청하는
경우, 대법원규칙으로 정하는 거래신고필증과 매매목록

■ 법무사를 통해서 등기할 때는 관할 시군구청에서 부동산거래신고를 하고, 거기서 받아온
부동산거래신고필증과 아래의 서류만 준비해서 맡기면 된다.
매도인 ;① 등기권리증 (등기필증) ② 매도용 인감증명서 1통: (매수인의 성명, 주소,
주민등록번호 등 인적사항 기재) ③ 부동산 거래신고필증 ④ 주민등록등본 1통
매수인; ① 주민등록초본 1통(주소이력 다 나오는 걸로) ② 매매계약서 원본 및 사본 1통
③ 토지대장 1통 ④ 건축물대장 1통 (대부분 토지대장, 건축물대장은 법무사들이 직접 준비한다.) 


등기필증(등기권리증) 
■ 등기(이전.권리설정)시 필요한 첨부서류
분실시는 재발급되지는 않으며. 확인서면으로 갈음.
등기필증이 멸실되었다 하더라도 등기소에서 절대로 재발급하지 않음. 이는 등기필증이
멸실되었다고 하여 권리에 영향을 미치거나 등기 명의인이 다른 등기를 신청할 수 없는
것이 아니기 때문.
따라서 등기 명의인이 등기 의무자로서 다른 등기를 신청할 때 멸실로 인하여 그 등기필증을
제출 할 수 없는 경우, 다음 3가지 확인방법 중 하나에 의하여 등기신청서에 등기 의무자로서
기재되어 있는 자가 틀림없이 본인임을 등기소로 하여금 확인하도록 해야 함.

(1) 등기의무자 또는 그 법정대리인 본인이 등기소에 직접 출석하고 등기관은 주민등록증·여권·
자동차운전면허증 등의 증명서에 의하여 그가 등기의무자 본인임을 확인하는 조서를 작성하는 방법, 
(2) 등기신청 대리인이 법무사 또는 변호사인 경우에 한하여 그들이 등기 신청서상의 등기의무자 또는
그 법정대리인 본인으로부터 위임 받았음을 확인하는 서면 2통을 작성하여 신청서에 첨부하는 방법,
(3) 등기신청서(위임에 의한 대리인에 의하여 신청하는 경우에는 그 권한을 증명하는 서면) 중 등기
의무자의 작성 부분에 대한 공증을 받고 그 부본 1통을 신청서에 첨부하는 방법(이 경우의 공증이란
신청서 또는 위임장 중 등기 의무자의 작성 부분이 등기 의무자 본인이 작성한 것임을 공증하는 것을
의미하므로, 등기의무자의 대리인이 출석하여 공증을 받아서는 안됩니다.) ⇒ 이 중 한 가지를
선택하여 등기의무자의 등기필증 제출에 갈음할 수 있음.

■ 등기필증(속칭-등기 권리증)이 진실한지 확인하려면, 대법원 인터넷 등기소에서 등기부를 열람하여
소유주로 올바로 등재되어있는지 확인하고 등기부상에 등재 되어 있다면 소유권이 이전된 것이다.


참고:  서울특별시의 부동산 중개 수수료는 다음과 같습니다.

일반주택의 경우

 종류 거래가액 수수료율 최고 한도액
 매매,교환5천만원 미만 
5천만원 이상 2억원 미만
2억 이상 6억원 미만
 0.6% 이내
 0.5% 이내
 0.4% 이내
 25만원 이내
 80만원 이내
         -
 전세, 임대차5천만원 미만
5천만원 이상 1억원 미만
1억원 이상 3억원 미만
 0.5% 이내
 0.4% 이내
 0.3% 이내
20만원 이내
30만원 이내
         -


출처: 
http://bae-story.blogspot.kr/2012/01/blog-post_15.html
http://lawyerblog.tistory.com/9

2015년 7월 8일 수요일

Python: *args and **kargs 임의의 개수의 변수를 가지는 함수 그리고, argument를 하나의 container로 넘겨주는 방법

*args 는 unlimited number of positional argument values 에 사용한다. (즉 keyword argument 가 아닌 경우)

**kargs 는 unlimited number of keyword argument values 에 사용한다.

예:

def func(x, *args, **kargs):
   print('first argument : '+x)
   for i in args:
     print('next argument :, i)
   for key,value  in kargs.iteritems() :
     print( '%s == %s'%(key,value))

여러개의 argument를 한번에 넘겨주고 싶을 때 다음과 같이
container를 이용하는 방법을 사용할 수 있다.
예를 들어서 다음과 같은 함수에 대해서

def avg3(a,b,c):
...     return (a+b+c)/3.0

(1) positional arguments as tuple:
     avg3( *(4,5,7) )

이 경우 하나의 3-tuple을 분해해서 3개의 argument로 받아들이게 된다.

(2) keyword arguments as dictionary
>>> d={ 'a':5, 'b':6, 'c':9 }
>>> avg3( **d )
6.666666666666667
이 경우 dictionary를 분해해서 3개의 keyword argument로 받아들인다.

(3) mix both
>>> avg3( 2, b=3, **{'c':4} )
3.0


한편, 일반적인 함수를 이용하여 계산하는 subroutine을 만들때, 기본적인 변수 이외의 extra argument를 사용할 수 있도록 하려면 어떻게 할까? 예를 들어 일반적인 f(x)꼴의 함수를 (-1,1)사이에서 적분하는 subroutine을 만들었는데, 함수에 다른 변수 f(x, a=1,b=2) 의 a,b를 바꾸고 
싶을 때는 어떻게 할까?
처음에 적분함수를 정의 할 때, def integration(func,args=()): 로 정의하고
함수 func을  func(x,*args)로 사용하면 된다. 이때, extra arguments는 tuple로 passing.



 

2015년 6월 10일 수요일

Extract even or odd line of text files 텍스트 파일에서 홀수나 짝수 줄만 뽑아내기

먼저 ouput file에서 특정 이름을 찾아서 line number, column3 column4 를 출력하는 예

grep 'EHn3lo(Q^4)' out_file | awk '{print NR" "$3"  "$4}'


출력 결과에서 짝수번째 결과만 뽑고 싶은 경우 

awk 'NR%2==0 {print $1}' infile


예를 들어 out_He6_idx02 라는 file에서 binding energy (MeV) 가 나오는
줄을 모두 찾은 뒤 그 중 짝수번재 라인에서 4번재와 5번째 Column 의
내용만 보고 싶을 때,

grep 'binding energy (MeV)' out_He6_idx02 | awk 'NR%2==0 {print NR" "$4"  "$5}'

2015년 6월 8일 월요일

Sun Grid Engine (SGE) 에서 여러개의 job을 하나로 submit 하기

예를 들어 32 개의 process를 사용하는 mpi 프로그램이 100개 있을 경우,
한번에 job을 submit 하는 방법을 생각해 보자.

(1) 무식하게 100번 submit하기 : qsub 를 100번 하기

(2) array job 이용하기(-t 옵션) : 100 개의 sub job을 하나의 jobid 로 submit하기.
        편하고 Job id는 하나이지만,
        실제로는 TASK_ID가 1-100까지 붙는 100개의 job을 submit 하는 셈이다.
        만약 한번에 실행 가능한 job의 갯수에 제한이 있는 경우, 순차적으로 실행되게 된다.

    #$ -pe mpi_fu 32
    #$ -t 1-100
    mpirun -np $NSLOTS ./program${SGE_TASK_ID}
 

(3) machine file splitting : SGE가 확보한 자원을 직접 100 개의 program에 나누어 할당한다.  먼저 다음과 같이 job script를 준비한다.

    #$ -pe mpi_fu 3200   <---32*100
    cat $PE_HOSTFILE | awk '{print $1 " slots=" $2}' > "myhost_ompi"
    ./my_wrapper_script    

    여기서 $PE_HOSTFILE은 SGE가 확보한 자원의 machine file 이다.
    (형식은 "node0904 8 normal@node0904 UNDEFINED" 꼴.)
    이것을 openmpi 용 machine file로 바꾼다.
    (형식은 "node0904 slots=8" 꼴.)
    mvapich의 경우에는 다음과 같이 바꾸어 주면 된다.

for host in `cat $PE_HOSTFILE | awk '{print $1}'`; do
   num=`grep $host $PE_HOSTFILE | awk '{print $2}'`
   for i in `seq 1 $num`; do
       echo $host >> "myhost_mpich"
   done
done

  wrapper script에서는 machine hostfile  을 필요한 만큼 잘라서 여러개의 hostfile
 ( host_$num ) 으로 만들고
"mpirun -np 32 -hostfile host_$num ./program_$num > out_$num &"  을 프로그램 수 만큼 실행 시켜주면 된다.

 sed -n 1,4p myhost > host_1  

and so on... -> extract lines 1-4 "p" is a printout command.




2015년 5월 26일 화요일

(퍼옴) 안구 근력 운동

무항생제 안약을 두 통 받아든 채 K씨는 눈 운동 관련 정보를 찾았다.

(1) 상하좌우로 움직이기 - 3세트

위아래로 움직인다: 눈을 위로 향하고 이마를 본다는 감각으로 그 상태를 3초간 유지한다. 이어서 자신의 코끝을 본다는 감각으로 시선을 아래로 향하고 그 상태를 3초간 유지한다(1세트).

눈을 좌우로 움직인다: 눈을 왼쪽으로 향하고 3초간 유지한 다음, 이어서 오른쪽으로 향해 3초간 유지한다(1세트).

* 포인트: 눈을 깜빡이지 않는다. / 시선이 향하는 곳보다 2밀리미터 정도 멀리 보는 듯한 감각으로 실시한다.

눈을 모로 움직인다: 머리는 고정한 채 눈만 움직여 모로 왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래 위치로 향하는데, 각각 3초간 유지한다(1세트).

* 포인트: 시선을 움직일 때 얼굴도 같이 움직인다면 주먹을 쥐고 턱에 대 고정한다.

(2) 빙그르 회전시키기 - 3세트

눈을 시계방향으로 가급적 크게, 천천히 1바퀴 회전시킨다. 이어서 시계반대방향으로 1바퀴 회전시킨다.

* 포인트:얼굴은 움직이지 않는다. / 실시하는 중에 시선이 정면을 향하지 않는다.

(3) ∞ 모양으로 움직이기 - 3세트

눈을 누워 있는 ∞ 모양으로 그리듯이 움직인다. 3세트 실시하고, 반대방향으로도 동일한 방법으로 실시한다.

* 포인트: 장시간 컴퓨터 작업하는 틈틈이 실시하면 안구건조를 예방할 수 있다.

(4) 앞뒤로 움직이기 - 3세트

눈을 앞으로 내밀었다가 뒤로 집어넣는다: 안구를 앞으로 내밀듯 부릅뜨고 3초간 유지한 뒤에, 안구를 뒤통수 쪽으로 집어넣듯 눈을 꾹 감고 3초간 유지한다(1세트).

* 포인트: 눈을 앞으로 내밀 때는 마치 연극하듯 과장스럽게 실시한다. / 눈을 뒤로 집어넣을 때는 아주 신 레몬을 먹은 것 같은 기분으로 실시한다.

2015년 5월 20일 수요일

Intel Math Kernel Library (MKL) and FFTW3 링크하기

먼저 MKL library의 위치를 찾을 것. 
MKL library에 FFTW가 포함되어 있다고 하지만 FFTW의 위치도 알아둘 것.

MKL libary를 사용하는 방법은 두가지가 있다.

(1) -mkl 옵션을 사용하는 방법
(2) 모든 옵션을 일일이 지정해 주는 방법
-mkl 옵션의 경우 default 설정이 무엇인가에  따라 달라지게 된다.일반적인 경우라면,

ifort test.f90 -mkl -o test_f
icc test.c -mkl -o test_c

만으로 충분하고 FFTW를 사용하는 경우에는 

icc test.c -w -DMKL_DOUBLE -I/opt/intel/Compiler/11.1/069/mkl/include/fftw -mkl -o test_c

ifort -I/opt/intel/Compiler/11.1/069/mkl/include/fftw test.f90 -mkl -o test_f

icc test.c -I/opt/intel/Compiler/11.1/069/mkl/include/fftw -mkl -o test_c

ifort test.f90 -I/opt/intel/Compiler/11.1/069/mkl/include/fftw -mkl -o test_f

와 같이 include path를 지정해 주는 것이 좋다고 한다. 

-mkl 옵션을 쓰지 않으면 아래와 같이 일일이 써 주어야한다. 

icc test.c -I/opt/intel/Compiler/11.1/069/mkl/include -I/opt/intel/Compiler/11.1/069/mkl/include/fftw
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm 
-L/opt/intel/Compiler/11.1/069/mkl/lib/em64t -o c_test 

ifort test.f90 -I/opt/intel/Compiler/11.1/069/mkl/include -I/opt/intel/Compiler/11.1/069/mkl/include/fftw 
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm 
-L/opt/intel/Compiler/11.1/069/mkl/lib/em64t -o f_test


(주의1) -lmkl_intel_lp64 는 64bit cpu 용 libary를 사용한다는 뜻이고,  
-lmkl_intel_ilp64 는 64bit cpu 용 libary를 사용하되 
정수도 64bit인 libary를 사용한다는 뜻으로 compile 할 때 -i8 option을 추가해 주어야 한다.   
ilp64를 사용할 경우 FFTW와 integer type이 다를 수 있으므로 주의해야 한다.

(주의2) FFTW2 를 사용할 경우는 option을 다르게 주어야한다.
icc test2.c -o test2_c -I/opt/intel/Compiler/11.1/069/mkl/include/fftw 
-L/opt/intel/Compiler/11.1/069/mkl/lib/em64t -lfftw2xc_intel -mkl 

ifort test2.f -o test2_f -I/opt/intel/Compiler/11.1/069/mkl/include/fftw 
-L/opt/intel/Compiler/11.1/069/mkl/lib/em64t -lfftw2xf_intel -mkl

만약 외부 FFTW library를 사용하는 경우에는 아래와 같이 사용한다.
ifort -O3 -o fftw_example.exe fftw_example.f -I/u/username/fftw/include -L/u/username/fftw/lib -lfftw3

참고:

http://geco.mines.edu/software/mkl/fftw/

http://www.nas.nasa.gov/hecc/support/kb/MKL-FFTW-Interface_204.html



(Details on the -mkl option )


-mkl[=]
          link to the Intel(R) Math Kernel Library (Intel(R) MKL) and
          bring in the associated headers
            parallel   - link using the threaded Intel(R) MKL libraries.
                         This is the default when -mkl is specified
            sequential - link using the non-threaded Intel(R) MKL libraries
            cluster    - link using the Intel(R) MKL Cluster libraries plus
                         the sequential Intel(R) MKL libraries
The libraries that are linked in for:
    * -mkl=parallel

          --start-group \
          -lmkl_solver_lp64 \
          -lmkl_intel_lp64 \
          -lmkl_intel_thread \
          -lmkl_core \
          -liomp5 \
          --end-group \

    * -mkl=sequential

          --start-group \
          -lmkl_solver_lp64_sequential \
          -lmkl_intel_lp64 \
          -lmkl_sequential \
          -lmkl_core \
          --end-group \

    * -mkl=cluster

          --start-group \
          -lmkl_solver_lp64 \
          -lmkl_intel_lp64 \
          -lmkl_cdft_core \
          -lmkl_scalapack_lp64 \
          -lmkl_blacs_lp64 \
          -lmkl_sequential \
          -lmkl_core \
          -liomp5 \
          --end-group \