'전체 글'에 해당되는 글 246건

  1. 2009.10.27 Horner's Rule
  2. 2009.10.26 VC에서 cu 파일 컴파일 하기(CUDA)
  3. 2009.10.18 투자은행 버블의 종언
  4. 2009.10.01 스피커 구입
  5. 2009.09.30 Bisection method(이분법) 1
  6. 2009.09.26 쾌도난마 한국경제
  7. 2009.08.15 robocopy를 사용하자.
  8. 2009.08.06 Visual Basic 6.0 - mouse wheeel
1. 설명
다항식을 빠르게 계산하는 방법 중 하나



위의 식을 아래처럼 정리하여 a_{n-1} + a_n x 부터 역으로 계산하면 다항식의 값을 구할 수 있다.


2. 코드
    
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define POWERS 10

int main(int argc, _TCHAR* argv[])
{

    double coefficients[POWERS],result[POWERS];
    double sum = 0.0;
    double variable_x=2;

    srand(1000);

    for(int n=0; n < POWERS ; n++)
    {
        coefficients[n] = rand()%50;
        result[n] = coefficients[n];

        printf("%d = %g \n",n,coefficients[n]);
    }

    //horner's rule
    sum = 0;
    for(int n=POWERS-1; n > 0 ; n--)
    {
        sum = ( sum + coefficients[n])*variable_x;
    }

    sum += coefficients[0];
    printf("horner's rule : %g\n",sum);

    //normal
    sum = 0.0;
    for(int n=0; n < POWERS ; n++)
    {
        sum = sum + result[n] * pow(variable_x, n);
    }

    printf("polynomial : %g\n",sum);
  
    return 0;
}


3. 참고자료
http://en.wikipedia.org/wiki/Horner_scheme
Posted by Gu Youn
,
CUDA Toolkit에 포함된 Monte Carlo 예제의 속도를 보고 프라이싱 모듈 만드는데 사용하면 좋겠다는 생각이 들어서, 시간 날때마다 조금씩이라도 자료를 정리해서 올릴 생각이다.

# 이 글에서는 VC를 개발환경으로 사용한다.
VC에서 빈 프로젝트를 만들고, cu파일에 대해서는 Custom Build로 nvcc를 사용하도록 설정하는 방법에 대해서 설명한다.

# CUDA SDK 설치되었다고 가정한다.

1. VC에서 empty project를 생성한다. 


2. NVIDIA 사이트에서 연습 파일을 다운 받아 압축을 푼다.
본 문서에서는 비주얼 스투디오 연습 (윈도우)를 사용한다.



3. \myFirstKernel\solution의 myFirstKernel.cu 파일을 위에서 생성한 프로젝트 폴더에 복사한다.


4. 프로젝트에 myFirstKernel.cu 파일을 추가한다.


( 5. Matching Custom Build Rule Not Found 다이얼로그에서 No를 클릭한다. )

6. custom build 설정을 위해 solution explorer에 등록된 myFirstKernel.cu를 선택하고 properties를 클릭한다.


7. Custom Build 설정을 위하여 general 항목의 Command Line에 다음 내용을 입력한다. 
- Debug
"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -I./ -I../../common/inc -o $(ConfigurationName)\$(InputName).obj $(InputFileName)

- EmuDebug
"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I"$(CUDA_INC_PATH)" -I./ -I../../common/inc -o $(ConfigurationName)\$(InputName).obj $(InputFileName)

- EmuRelease
"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -deviceemu -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -I./ -I../../common/inc -o $(ConfigurationName)\$(InputName).obj $(InputFileName)

- Release
"$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT -I"$(CUDA_INC_PATH)" -I./ -I../../common/inc -o $(ConfigurationName)\$(InputName).obj $(InputFileName)



8. 프로젝트의 속성을 다음처럼 수정한다.
- Additional Library Directories에 $(CUDA_LIB_PATH)를 입력한다.
- Additional Dependencies에 cudart.lib를 입력한다.
EmuDebug, EmuRelease의 경우에 프로젝트 속성을 더 수정하여야 하는데 그에 관한 것은 그것은 추후 작성 예정

PS: 위에 나온 대로 했는데 컴파일이 안된다면, Exercise에 포함된 프로젝트를 열어서 프로젝트 속성을 비교하면서 수정하면 될것이다.





9. F7를 눌러 Builde를 하고, ctrl + F5를 눌러 실행하여, 다음 화면처럼 나오면 성공이다.


'Computer > CUDA' 카테고리의 다른 글

CUDA Basic #1  (0) 2009.11.18
Posted by Gu Youn
,
투자은행 버블의 종언
카테고리 경제/경영
지은이 구라츠 야스유키 (신원문화사, 2009년)
상세보기

서브프라임 사태에 있어서 투자은행의 책임과 원인을 분석하고 투자은행이 나아갈 방향에 대한 내용을 담고 있다.
책의 마지막 "금융은 누구를 위해 존재"에서 실물경제나 고객의 이익을 무시하면서 이익을 취하려는 것은 백해무익하다는 표현이 있는데 저자의 의견에 정말 동감한다.

회사의 제품이나 경영상의 변화는 전혀 없는데 바닥을 치던 주가가 천정부지로 솟구치는 것을 보면서 과연 주식 시장 같은 금융시장이 실물경제를 반영하는가 의문이 드는 경우가 있는데.. 금융시장이 경제 성장과 안정에 도움이 되는 방향으로 발전해 나가면 좋겠다는 생각이 든다.

'책이야기' 카테고리의 다른 글

[읽은 책] 미래를 만든 Geeks  (0) 2010.11.25
[읽은 책] 옵션 운용 입문  (0) 2010.10.05
[읽은 책] ETF시장의 이해  (0) 2010.08.30
일개미의 반란  (0) 2010.05.09
천재들의 실패  (0) 2009.11.08
쾌도난마 한국경제  (0) 2009.09.26
책문  (0) 2009.07.28
21세기 아침의 사색  (0) 2009.07.20
파생상품 Modeling I: Matlab 활용  (0) 2009.07.19
대화  (0) 2009.07.12
Posted by Gu Youn
,

스피커 구입

잡담 2009. 10. 1. 23:30
스피커 쓰던게 고장나서 버리고 모니터에 내장된 스피커로 버티고 있었는데 모니터 내장 스피커의 소리가 너무 작아서 스피커 구입해야지 생각을 하고 있었다.
이왕 구입할거면 추석 전에 받아서 쓰자는 생각에 어제 밤에 급하게 이것 저것 찾아보다가 "크리에이티브 INSPIRE(인스파이어) 2.0 T10"로 주문하고 오늘 받아서 사용해보고 있는데 괜찮은듯 싶다.




'잡담' 카테고리의 다른 글

아이폰 케이스 구입  (0) 2010.05.25
아이폰 케이블 구입  (0) 2010.05.05
sgp 필름 a/s 신청  (0) 2010.03.14
아이폰 사용 일주일  (0) 2010.02.10
아이폰 구입  (0) 2010.02.02
커피 병에 찍힌 내 생일  (0) 2009.04.26
아나폴리스, 아울렛 갔다 옴  (0) 2009.03.14
미국에서 살고 있는 곳 주변 사진  (0) 2009.03.02
GPS ACT-510 업데이트 하기  (0) 2008.11.30
Vista버리고 XP로 이사 완료  (0) 2008.06.05
Posted by Gu Youn
,
너무 간단한 로직이어서 뭘로 구현하든 큰 차이가 없으니 매트랩 소스만 를 올린다.

function root = Bisection(start_point, end_point)

% Exit Condition %
tolerance = 1.0e-20;
numofsteps = 100;

mid_point = start_point + (end_point - start_point) / 2.0;   

error = abs(mid_point - start_point);
value = target_func(mid_point);

i = 0;
while (error > tolerance) && i < numofsteps

    if( value * target_func(end_point) > 0)
        end_point = mid_point;
    elseif ( value * target_func(end_point) < 0 )
        start_point = mid_point;
    end;
   
    mid_point = start_point + (end_point - start_point) / 2.0;   
    value = target_func(mid_point);
    error = abs(mid_point - start_point);
   
    i = i + 1;
end

% outpout %
i

format long
root = mid_point
error

end

function value = target_func(x)
    value = x^5 - 5.5*x^4 + 12.1*x^3 - 13.31*x^2 + 7.3205*x - 1.61051;
end

'Finance > numerical methods' 카테고리의 다른 글

Horner's Rule  (0) 2009.10.27
IMSL 6.0 설치 - 비공개  (0) 2008.02.02
IMSL 6.0 설치 및 VS2005 환경 설정(static library , dll)  (0) 2008.02.02
수치해석 주요 내용  (0) 2007.12.18
Posted by Gu Youn
,
쾌도난마 한국경제
카테고리 경제/경영
지은이 장하준 (부키, 2005년)
상세보기

방학동안 읽어보려고 구입했 뒀던 책인데 개인 사정으로 못 읽고 있다가 오늘에서야 읽게됐다.
대담 형식이라서 그런지 쉽게 읽을 수 있었다.
대담에 참여한 분들의 의견 중에 일부는 동의할 수 없지만, 편향된 나의 시각을 다시 생각해 볼 수 있는 기회였다.





'책이야기' 카테고리의 다른 글

[읽은 책] 옵션 운용 입문  (0) 2010.10.05
[읽은 책] ETF시장의 이해  (0) 2010.08.30
일개미의 반란  (0) 2010.05.09
천재들의 실패  (0) 2009.11.08
투자은행 버블의 종언  (0) 2009.10.18
책문  (0) 2009.07.28
21세기 아침의 사색  (0) 2009.07.20
파생상품 Modeling I: Matlab 활용  (0) 2009.07.19
대화  (0) 2009.07.12
파생상품의 활용과 사례  (0) 2009.06.25
Posted by Gu Youn
,
노트북이나 데스크탑, 또는 외장 하드와 로컬 디스크의 동기화에 Total Commander의 synchronize를 사용하고 있었는데 지난 주 부터 제대로 sync가 안된다. 내 컴퓨터가 문제인건지 아니면 복사하려는 파일에 이상이 있는 건지 sync하고 나서도 누락되는 파일이 일부 생긴다. 윈도우 탐색기로 복사를 해도 누락되는 파일이 일부 있고 파일 복사에 너무 시간이 오래 걸린다.

위와 같은 문제가 있을 경우에 robocopy를 사용해보자.
간단한 사용법은 아래와 같고 자세한 내용은 http://en.wikipedia.org/wiki/Robocopy 참조하자.

다음의 명령은 c:\computer 폴더를 d:\computer에 복사하고, 소스에 없는 내용은 삭제한다.
robocopy c:\computer d:\computer /e /purge


추가) 
Windows XP인 경우에는 다음 사이트에서 Resource Kit Tools를 다운 받아서 설치하면 됨
http://www.microsoft.com/downloads/en/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd

'Computer > etc' 카테고리의 다른 글

Visual Basic 6.0 - mouse wheeel  (0) 2009.08.06
Firefox 스크롤 조정하기  (0) 2009.03.08
USB 바이러스 예방  (0) 2009.02.14
USB 메모리 초기화  (0) 2009.01.12
컴퓨터 관련 북마크 정리 - 20080720  (0) 2008.07.20
Builder 와 Delphi 컴포넌트 설치 규칙  (0) 2008.07.20
블로그 사이드바에 adsense 붙이기  (0) 2008.02.04
Posted by Gu Youn
,


압축 풀어서 VB6IDEMouseWheelAddin.dll을 등록하고, Visual Basic 추가 기능 관리자에서 MouseWheel Fix 기능을 시작할 때 로드 하는 것으로 설정한다.

자세한 내용은 "Visual Basic 6.0 IDE에서 마우스 휠 이벤트가 작동하지 않는다" 문서 참고

'Computer > etc' 카테고리의 다른 글

robocopy를 사용하자.  (0) 2009.08.15
Firefox 스크롤 조정하기  (0) 2009.03.08
USB 바이러스 예방  (0) 2009.02.14
USB 메모리 초기화  (0) 2009.01.12
컴퓨터 관련 북마크 정리 - 20080720  (0) 2008.07.20
Builder 와 Delphi 컴포넌트 설치 규칙  (0) 2008.07.20
블로그 사이드바에 adsense 붙이기  (0) 2008.02.04
Posted by Gu Youn
,