Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Similar documents
Microsoft Word - 2부B windows 환경 visual studio 2005.doc

2011 PLSI 병렬컴퓨팅경진대회문제 01. 대학원팀 02. 학부팀 - 경진내용 - 경진환경 주어진순차코드를병렬화하여성능향상도 ( 획득점수 ) 를측정 점수 = ( 순차코드수행시간 ) / ( 병렬화코드수행시간 ) 프로그래밍언어 : C, Fortran 순차코드는 50 라

ISP and CodeVisionAVR C Compiler.hwp

untitled

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx


초보자를 위한 C++

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

2014밝고고운동요부르기-수정3

2005프로그램표지

초보자를 위한 한글 Visual Basic .NET 21일 완성

슬라이드 1

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc

4S 1차년도 평가 발표자료

< C8AFB0E6BCB3C1A42E687770>

슬라이드 1

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Microsoft PowerPoint - 병렬표준.pptx

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PRO1_02E [읽기 전용]

PowerPoint 프레젠테이션

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Microsoft Word - Armjtag_문서1.doc

슬라이드 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Parallel Programming 박필성 IT 대학컴퓨터학과

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

<C6F7C6AEB6F5B1B3C0E72E687770>

Microsoft Word - cover.docx

PowerPoint 프레젠테이션

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Mango220 Android How to compile and Transfer image to Target

PowerPoint Presentation

Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과

LAMMPS-11Aug17 설치 문서

6주차.key

ArcGIS Desktop 9.2 Install Guide

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

Microsoft PowerPoint - chap-02.pptx

1

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

PCServerMgmt7

Microsoft Word - PA1_Hints.doc

Microsoft PowerPoint - lecture2-opengl.ppt [호환 모드]

PRO1_04E [읽기 전용]

Windows 8에서 BioStar 1 설치하기

RVC Robot Vaccum Cleaner

강의10

슬라이드 1

Microsoft Word - Network Programming_01.docx

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

PowerPoint 프레젠테이션

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

슬라이드 1

BMP 파일 처리

과목 Overview 목적: 본 과목은 C 언어를 통하여 컴퓨터를 이용한 공학적 문제 해결 과정을 학습한다. C 언어의 변수 타입, 제어문, 함수, 포인터, 구조체 등을 학습한다. C 언어와 다른 언어와의 통합의 방법에 대해 배운다. 2

fprintf(fp, "clf; clear; clc; \n"); fprintf(fp, "x = linspace(0, %d, %d)\n ", L, N); fprintf(fp, "U = [ "); for (i = 0; i <= (N - 1) ; i++) for (j = 0

<57696E646F7773C8AFB0E6BFA1BCADC0C7204F70656E53534CBCB3C4A12E687770>

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

DE1-SoC Board

make life game.doc

DBMS & SQL Server Installation Database Laboratory

Dialog Box 실행파일을 Web에 포함시키는 방법

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

금오공대 컴퓨터공학전공 강의자료

중간고사

MAX+plus II Getting Started - 무작정따라하기

슬라이드 1

Microsoft PowerPoint - 1C언어소개0.PPT

슬라이드 1

MPLAB C18 C

슬라이드 제목 없음

Adobe Flash 취약점 분석 (CVE )

Microsoft Word - CooCox

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

Microsoft PowerPoint - o4.pptx

Social Media and Social Computing

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

untitled

<31325FB1E8B0E6BCBA2E687770>

Microsoft PowerPoint - chap-02.pptx

윈도우즈프로그래밍(1)

Tekla Structures 설치

Microsoft PowerPoint - 타키온1&2

PowerPoint 프레젠테이션


Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - 02-Development-Environment-1.ppt

Microsoft Word - codevision사용법_pdf버전.docx

Microsoft PowerPoint - CSharp-10-예외처리

IDA 5.x Manual hwp

SPECweb Install

Microsoft PowerPoint UNIX Shell.pptx

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Transcription:

Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration 파일을설치해야합니다. 또한, MPICH2 파일을받을때처럼자신의 CPU 에맞게설치합니다. 설치순서는 compiler, debuger, visual studio integration, IMSL library 순서로깔립니다. 물론, 정품라이센스가있어야합니다. 학생신분이면비교적저렴한가격에라이센스를얻을수있습니다. 또한, 학교나연구실소속이면자신의학교에라이센스가있는지알아보면좋다.

환경변수를자동으로업데이트를꼭체크합니다. 이것을꺼두면수동으로환경변수설정을해주어야한다. 모두설치되었으면, 일반컴파일, OpenMP compile, MPI compile, IMSL library 컴파일순으로환경을설정하고테스트할것입니다. 최초설치시환경설정을실행해윈도우즈시스템에환경변수를저장시킵니다. Intel Visual Fortran 9.1 을 DOS 명령에서직접실행하는명령은다음과같습니다. ifort -o 타겟파일명소스코드 2

integration for visual Studio 를설치후 DOS 모드에서 Intel Visual Fortran 컴파일명령을실행하였을경우다음과같은에러메시지를출력하는경우가있습니다. Visual Studio 2005 와 2003 이각각 mspdb80.dll, mspdb71.dll 을찾고있습니다. 원인은 ifort 가 Visual Studio 모드로작동하게되었지만 DOS 모드에서실행되기때문입니다. 이를해결하기위해서는 mspdb80.dll 의위치를 Path 디렉토리를지정해줘야합니다. Visual Studio 2005 C: Program Files Microsoft Visual Studio 8 Common7 IDE Visual Studio 2003 C: Program Files Microsoft Visual Studio.NET 2003 Common7 IDE 이것은 integration 을설치하면서 ifort 가 windows 용으로작동되게설정되었기때문에이후 ifort 는 Visual 3

Studio 에서실행해야하기때문입니다. integration 을설치하지않았다면 DOS 창에서직접실행할수있습니다. 하지만 Visual Studio 에서는사용할수없게됩니다. Visual Studio 의프로젝트에서 Visual Fortran 을선택한다. 빈프로젝트를하나만든다. 4

파일을하나생성하고코드를입력한다. PROGRAM MAIN PRINT*, 'hello world! with fortran' END 정상실행되는것을확인할수있다. 5

이제 OpenMP 프로그래밍을해보자. PROGRAM hello IMPLICIT NONE INTEGER inode, nnode INTEGER omp_get_thread_num, omp_get_num_threads nnode=4 CALL omp_set_num_threads(nnode)!$omp parallel default(private) shared(nnode) inode=omp_get_thread_num() print*,'hello from',inode, 'of total threads ',nnode!$omp end parallel END PROGRAM hello 6

일단컴파일해보면기본적에러가뜨는것을확인할수있다. Intel Visual Fortran 은 openmp 컴파일시 /Qopenmp 명령을넣어주어야한다. 이제정상컴파일되고실행하면여러개의 threads 가생성됨을확인할수있다. 7

8

MPI compile Visual Studio 2005 + IVF 9.1 9

간단한 fortran MPI 코드를입력한다. hello.f program main include 'mpif.h' integer n, myid, numprocs ierr,rc print*,'hello fortran' call MPI_INIT( ierr ) call MPI_COMM_RANK( MPI_COMM_WORLD, myid, ierr ) call MPI_COMM_SIZE( MPI_COMM_WORLD, numprocs, ierr ) print *, "Process ", myid, " of ", numprocs, " is alive" call MPI_FINALIZE(ierr) stop end 컴파일하면에러가발생하는것을확인할수있다. 이제환경변수를설정해보자. 도구 > 환경설정 > Intel(R) Fortran Tools > Properties > Intel(R) Fortran 10

C: Program Files MPICH2 include C: Program Files MPICH2 lib MPICH2 의 library 와 include 디렉토리를설정한다. 프로젝트에 MPICH2 관련 fmpich2.lib 파일을추가한다. Linker > Input > Additional Dependencies 이제에러없이컴파일이된다. 이제 mpiexec -n 2 fmpi.exe 를통해병렬실행시킬수이다. 11

12

MPI+OpenMP Hybrid compile MPI 와 OpenMP 의 Hybrid Compile 은 SMP cluster 환경에적당하다. 이를위해서는 MPICH2 library, MPICH2 include 디렉토리설정 ( 이미되어있음 ) 하고 Project 에선 MPICH2 와 openmp 설정을동시에해주어야한다. 즉 Fortran > Command Line 에 /Qopenmp 를등록한후 Input > Additional Dependencies 에 fmpich2.lib 를등록하면된다. 13

이후새파일을만든다. 코드는다음과같다. 이때, mpif.h 를넣었고, mpi 코드와 openmp 코드가동시에있는것을확인할수있다. program main IMPLICIT NONE include 'mpif.h' INTEGER myrank, numprocs, ierr INTEGER inode, nnode INTEGER omp_get_thread_num, omp_get_num_threads print*,'hello fortran' call MPI_INIT( ierr ) call MPI_COMM_RANK( MPI_COMM_WORLD, myrank, ierr ) call MPI_COMM_SIZE( MPI_COMM_WORLD, numprocs, ierr ) if (myrank == 0 ) then print *, "Process ", numprocs, " is alive" endif nnode=4 CALL omp_set_num_threads(nnode)!$omp parallel default(private) shared(nnode,myrank,numprocs) inode=omp_get_thread_num() if (myrank==0.and. inode==0) then print*, "threads ", nnode, " is alive" endif print*,'hello from',inode, 'of ',myrank!$omp end parallel call MPI_FINALIZE(ierr) stop end 14

15

process 4 개와 threads 4 개가실행된것을확인할굿있다. process 2,1 의 thread 0 threads 가 process 0 의 thread0 보다먼저실행된것도확인할수있다. 16