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

Size: px
Start display at page:

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

Transcription

1 2011 PLSI 병렬컴퓨팅경진대회문제 01. 대학원팀 02. 학부팀 - 경진내용 - 경진환경 주어진순차코드를병렬화하여성능향상도 ( 획득점수 ) 를측정 점수 = ( 순차코드수행시간 ) / ( 병렬화코드수행시간 ) 프로그래밍언어 : C, Fortran 순차코드는 50 라인내외로작성하여제공됨 참가자들은컴파일러 (intel, gnu, pgi) 선택가능 시간제한 6 일오후 1 시 ~6 시 (5 시간 2 문제 ), 7 일오전 9 시 ~12 시 (3 시간 1 문제 ) 제한시간내병렬화코드를제출 제출파일 : 병렬화코드, 병렬화코드수행을위한 Makefile 특정라이브러리및컴파일러최적화옵션사용불가 - 출제문제유형 지난해의체험대회를바탕으로일반적인문제출제를원칙으로하며, 문제해결을통해병렬화기법을익힐수있는데초점을맞춤 예상문제 Monte Carlo Method 를이용한과학문제해결 Molecular Dynamics(MD) 문제 - gnuplot 등을통한 visualization Finite Difference Method(FDM) 문제 - 경진내용및경진환경은대학원팀과동일 - 출제문제유형 예상문제 sin 적분문제 Taylor expansion : sin Matrix 곱하기

2 01. [ 학부팀유형 1] - 수치적분 아래적분식의수치적분을이용하여 PI 의근사값을구하는순차코드가주어져있다. 이코드를병렬화 (MPI) 하여최대성능을얻으시오. (CPU 는최대 16 개까지사용 ) sin => sin 평가방법 - 병렬코드, 실행파일, 컴파일환경 ( 컴파일러, 옵션, 사용 MPI 라이브러리 ) 제출. - 순차코드와결과가일치하는병렬코드에대하여성능향상도를점수화. 예제수행시간 - 순차코드 : 초 - 병렬코드 : 초 - 성능향상도 : 8.243

3 02. [ 학부팀유형 2] - 행렬곱 주어진 (n,n) 행렬에대하여 A B를구하고모든원소의합을구하는순차코드를병렬화 (MPI) 하여최대성능을얻으시오. (CPU는최대 16개까지사용 ) 평가방법 - 병렬코드, 실행파일, 컴파일환경 ( 컴파일러, 옵션, 사용 MPI 라이브러리 ) 제출. - 순차코드와결과가일치하는병렬코드에대하여성능향상도를점수화. 예제수행시간 - 순차코드 : 초 - 병렬코드 : 초 - 성능향상도 : [ 학부팀유형 3] - Taylor 급수를이용한 sin(x) 구하기 아래의 sin(x) 에대한 Taylor 급수를이용하여근사값을구하는순차코드를병렬화 (MPI) 하여최대성능을얻으시오. (CPU는최대 16개까지사용 ) 평가방법 - 병렬코드, 실행파일, 컴파일환경 ( 컴파일러, 옵션, 사용 MPI 라이브러리 ) 제출. - 순차코드와결과가일치하는병렬코드에대하여성능향상도를점수화. 예제수행시간 - 순차코드 : 초 - 병렬코드 : 초 - 성능향상도 :

4 04. [ 대학원팀유형 1] - 2D Random Walk 개입자에대한 1000번의 2D Random Walk를수행하고분포를구하는순차코드를병렬화 (MPI) 하여최대성능을얻으시오. (CPU는최대 16개까지사용 ) 평가방법 - 병렬코드, 실행파일, 컴파일환경 ( 컴파일러, 옵션, 사용 MPI 라이브러리 ) 제출. - 순차코드와결과가일치하는병렬코드에대하여성능향상도를점수화. 예제수행시간 - 순차코드 : 초 - 병렬코드 : 초 - 성능향상도 : [ 대학원팀유형 2] - Molecular Dynamics 주어진 1000개입자의초기위치에대하여각각의입자는 1/R( x1-x2 ) 의힘을받는다고하면, 10000번의 step 후의위치를구할수있다. 순차코드에대하여 MPI 병렬화를이용하여최대성능을얻으시오. (CPU는최대 16개까지사용 ) 평가방법 - 병렬코드, 실행파일, 컴파일환경 ( 컴파일러, 옵션, 사용 MPI 라이브러리 ) 제출. - 순차코드와결과가일치하는병렬코드에대하여성능향상도를점수화. 예제수행시간 - 순차코드 : 초 - 병렬코드 : 초 - 성능향상도 : [ 대학원팀유형 3] - 2D FDM 주어진 2D 경계조건에서 FDM을이용하면유일해를구할수있다. 300X300 grid를이용하여 FDM의해를구하는순차코드에대하여 MPI 병렬화를이용하여최대성능을얻으시오. (CPU는최대 16개까지사용 ) 평가방법 - 병렬코드, 실행파일, 컴파일환경 ( 컴파일러, 옵션, 사용 MPI 라이브러리 ) 제출. - 순차코드와결과가일치하는병렬코드에대하여성능향상도를점수화. 예제수행시간

5 - 순차코드 : 초 - 병렬코드 : 초 - 성능향상도 : 5.851

6 01. 학부팀유형 1 코드 순차코드 (Fortran) program integration real(8) :: pi, x, x_max integer(8) :: num_step, i pi=0.0d0 x=0.0d0 x_max= d0 num_step= do i = 1, num_step x = x_max*real(i,8)/real(num_step,8) pi = pi + 2.0d0*sin(x)/x*x_max/real(num_step,8) print *,'PI = ',pi end program integration

7 병렬코드 (Fortran) program integration include 'mpif.h' real(8) :: pi, x, x_max, sum integer(8) :: num_step, i, is, ie integer(4) :: myrank, nprocs, ierr call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD,myrank,ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD,nprocs,ierr) sum=0.0d0 x=0.0d0 x_max= d0 num_step= is = 1 ; ie = num_step call para_range(is,ie,nprocs,myrank,is,ie) do i = is, ie x = x_max*real(i,8)/real(num_step,8) sum = sum + 2.0d0*sin(x)/x*x_max/real(num_step,8) call MPI_REDUCE(sum,pi,1,MPI_DOUBLE_PRECISION,MPI_SUM,0,MPI_COMM_WORLD,ierr) if(myrank.eq.0) then print *, 'PI = ',pi endif call MPI_FINALIZE(ierr) stop contains subroutine para_range(n1,n2,nprocs,irank,ista,iend) integer :: nprocs,irank integer(8) :: np,ir integer(8) :: n1,n2,ista,iend integer(8) :: iwork1,iwork2 np=int(nprocs,8) ir=int(irank,8) iwork1 = (n2 - n1 + 1) / np iwork2 = mod(n2 - n1 + 1, np) ista = ir * iwork1 + n1 + min(ir,iwork2)

8 iend = ista + iwork1-1 if(iwork2.gt. ir) iend = iend + 1 return end subroutine end program integration

9 02. 학부팀유형 2 코드 순차코드 (Fortran) program matrix integer :: i,j,k,n real,dimension(:,:),allocatable :: a,b,c real :: sum n=5000 sum=0.0 allocate (a(n,n)) allocate (b(n,n)) allocate (c(n,n)) c=0.0 do j=1,n do i=1,n a(i,j)=real(i)/real( j) b(i,j)=real( j)/real(i) do k=1,n do j=1,n do i=1,n c(i,j)=c(i,j)+a(i,k)*b(k,j) do j=1,n do i=1,n sum=sum+c(i,j) print *, 'SUM = ',sum deallocate(a,b,c) end program matrix

10 병렬코드 (Fortran) program matrix include 'mpif.h' integer :: i,j,k,n,is,ie integer(4) :: myrank, nprocs, ierr real,dimension(:,:),allocatable :: a,b,c real :: sum,psum call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD,myrank,ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD,nprocs,ierr) n=5000 sum=0.0 psum=0.0 allocate (a(n,n)) allocate (b(n,n)) allocate (c(n,n)) c=0.0 is=1;ie=n call para_range(is,ie,nprocs,myrank,is,ie) do j=1,n do i=1,n a(i,j)=real(i)/real( j) b(i,j)=real( j)/real(i) do k=1,n do j=is,ie do i=1,n c(i,j)=c(i,j)+a(i,k)*b(k,j) do j=is,ie do i=1,n psum=psum+c(i,j) call MPI_REDUCE(psum,sum,1,MPI_REAL,MPI_SUM,0,MPI_COMM_WORLD,ierr)

11 if(myrank.eq.0) then print *, 'SUM = ',sum endif deallocate(a,b,c) call MPI_FINALIZE(ierr) stop contains subroutine para_range(n1,n2,nprocs,irank,ista,iend) integer :: nprocs,irank integer :: np,ir integer :: n1,n2,ista,iend integer :: iwork1,iwork2 np=nprocs ir=irank iwork1 = (n2 - n1 + 1) / np iwork2 = mod(n2 - n1 + 1, np) ista = ir * iwork1 + n1 + min(ir,iwork2) iend = ista + iwork1-1 if(iwork2.gt. ir) iend = iend + 1 return end subroutine end program matrix

12 03. 학부팀유형 3 코드 순차코드 (Fortran) program taylor real(8) :: x, mysin, tmp, x_max, step integer(4) :: i, j, k, n, num_step x_max=4.0d0 x=0.0d0 num_step=10000 n=1000 step=x_max/real(num_step,8) do i=0,num_step mysin=0.0d0 do j=1,n tmp=1.0d0 do k=1,2*j-1 tmp=tmp*x/real(k,8) if(mod( j,2)) then mysin=mysin+tmp else mysin=mysin-tmp endif print *, x, mysin, sin(x) x=x+step end program taylor

13 병렬코드 (Fortran) program taylor include 'mpif.h' real(8) :: x, mysin, tmp, x_max, step integer(4) :: i, j, k, n, num_step integer(4) :: myrank, nprocs, ierr, is, ie call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD,myrank,ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD,nprocs,ierr) x_max=4.0d0 num_step=10000 n=1000 step=x_max/real(num_step,8) is=0;ie=num_step call para_range(is,ie,nprocs,myrank,is,ie) do i=is,ie x=real(i,8)*step mysin=0.0d0 do j=1,n tmp=1.0d0 do k=1,2*j-1 tmp=tmp*x/real(k,8) if(mod( j,2)) then mysin=mysin+tmp else mysin=mysin-tmp endif print *, x, mysin, sin(x) call MPI_FINALIZE(ierr) contains subroutine para_range(n1,n2,nprocs,irank,ista,iend) integer :: nprocs,irank integer :: np,ir integer :: n1,n2,ista,iend integer :: iwork1,iwork2

14 np=nprocs ir=irank iwork1 = (n2 - n1 + 1) / np iwork2 = mod(n2 - n1 + 1, np) ista = ir * iwork1 + n1 + min(ir,iwork2) iend = ista + iwork1-1 if(iwork2.gt. ir) iend = iend + 1 return end subroutine end program taylor

15 04. 대학원팀유형 1 코드 순차코드 (Fortran) program randomwalk integer :: i,j,rtc integer, parameter :: N_P= , N_W=1000 integer, dimension(n_p) :: part_x, part_y integer, dimension(:,:),allocatable :: pos real :: seed, rand,temp part_x=0 part_y=0 call srand(0.5) do i=1, N_P do j=1,n_w temp=rand(0) if(temp <= 0.25) then part_x(i)=part_x(i)+1 elseif(temp <= 0.5) then part_y(i)=part_y(i)+1 elseif(temp <=0.75) then part_x(i)=part_x(i)-1 else part_y(i)=part_y(i)-1 endif allocate(pos(-n_w:n_w,-n_w:n_w)) pos=0 do i=1,n_p pos(part_x(i),part_y(i))=pos(part_x(i),part_y(i))+1 do i=-n_w,n_w,2 do j=-n_w,n_w,2 if(pos(i,j).ne. 0) print*, i,j, pos(i,j) deallocate(pos)

16 end program randomwalk

17 병렬코드 (Fortran) program randomwalk include 'mpif.h' integer :: mysize, myrank, ierr, pos_count, ista, iend integer :: i,j,d,min_p,max_p,rtc integer, parameter :: N_P= , N_W=1000 integer, dimension(n_p) :: part_x, part_y integer, dimension(:,:),allocatable :: pos,pos_all real :: seed, rand,temp part_x=0 part_y=0 call MPI_INIT(ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD,mysize, ierr) call MPI_COMM_RANK(MPI_COMM_WORLD,myrank, ierr) call srand(0.5+myrank*0.1) call para_range(1,n_p,mysize,myrank,ista,iend) do i=ista,iend do j=1,n_w temp=rand(0) if(temp <= 0.25) then part_x(i)=part_x(i)+1 elseif(temp <= 0.5) then part_y(i)=part_y(i)+1 elseif(temp <=0.75) then part_x(i)=part_x(i)-1 else part_y(i)=part_y(i)-1 endif allocate(pos(-n_w:n_w,-n_w:n_w)) allocate(pos_all(-n_w:n_w,-n_w:n_w)) pos=0 do i=1,n_p pos(part_x(i),part_y(i))=pos(part_x(i),part_y(i))+1 pos_count=size(pos) call MPI_REDUCE(pos,pos_all,pos_count,MPI_INTEGER,MPI_SUM,0,MPI_COMM_WORLD,ierr) if(myrank==0) then pos=pos_all do i=-n_w,n_w,2 do j=-n_w,n_w,2

18 if(pos(i,j).ne. 0) print*, i,j, pos(i,j) endif deallocate(pos) deallocate(pos_all) call MPI_FINALIZE(ierr) CONTAINS subroutine para_range(n1,n2,nprocs,irank,ista,iend) integer :: n1,n2,nprocs,irank,ista,iend integer :: iwork1,iwork2 iwork1 = (n2 - n1 + 1) / nprocs iwork2 = mod(n2 - n1 + 1, nprocs) ista = irank * iwork1 + n1 + min(irank,iwork2) iend = ista + iwork1-1 if(iwork2.gt. irank) iend = iend + 1 return end subroutine end program randomwalk

19 05. 대학원팀유형 2 코드 순차코드 (Fortran) program md integer :: i,j,k integer, parameter :: N_P=1000, step=10000 real, dimension(n_p) :: x, force real :: f_jk do i=1,n_p read *, x(i) x(i)=x(i)* do i=1,step force=0.0 do j=1,n_p-1 do k= j+1,n_p f_jk = 1.0/(x(k)-x( j)) force( j)=force( j)+f_jk force(k)=force(k)-f_jk do j=1,n_p x( j)=x( j)+force( j) do i=1,n_p print *, i,x(i) end program md

20 병렬코드 (Fortran) program md include 'mpif.h' integer :: mysize, myrank, ierr, ista, iend integer :: i,j,k integer, parameter :: N_P=1000, step=10000 real, dimension(n_p) :: x, force, force_all real :: f_jk call MPI_INIT(ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD,mysize, ierr) call MPI_COMM_RANK(MPI_COMM_WORLD,myrank, ierr) if(myrank==0) then do i=1,n_p read *, x(i) x(i)=x(i)* print *,'start' endif call MPI_BCAST(x,N_P,MPI_REAL,0,MPI_COMM_WORLD,ierr) do i=1,step force=0.0 call para_range(1,n_p-1,mysize,myrank,ista,iend) do j=ista,iend do k= j+1,n_p f_jk = 1.0/(x(k)-x( j)) force( j)=force( j)+f_jk force(k)=force(k)-f_jk call MPI_REDUCE(force,force_all,N_P,MPI_REAL,MPI_SUM,0,MPI_COMM_WORLD,ierr) if(myrank==0) then do j=1,n_p x( j)=x( j)+force_all( j) endif if(myrank==0) then do i=1,n_p print *, i,x(i)

21 endif call MPI_FINALIZE(ierr) CONTAINS subroutine para_range(n1,n2,nprocs,irank,ista,iend) integer :: n1,n2,nprocs,irank,ista,iend integer :: iwork1,iwork2 iwork1 = (n2 - n1 + 1) / nprocs iwork2 = mod(n2 - n1 + 1, nprocs) ista = irank * iwork1 + n1 + min(irank,iwork2) iend = ista + iwork1-1 if(iwork2.gt. irank) iend = iend + 1 return end subroutine end program md

22 06. 대학원팀유형 3 코드 순차코드 (Fortran) program FDM2D integer im,jm,im1,jm1 parameter(im=300,jm=300) integer is,ie,js,je integer iter,itermax,nprt real tolerance real bc(4)!left,right,bottom,top real u(0:im+1,0:jm+1) real error! read input data itermax= nprt=500 tolerance = 1.0e-7 bc(1) = 10.0 bc(2) = 10.0 bc(3) = 10.0 bc(4) = 20.0! initialize im1=im+1 jm1=jm+1 do j=0,jm1 do i=0,im1 u(i,j) = 0.0! boundary conditions do j=0,jm1 u(0,j) = bc(1)!left u(im1,j) = bc(2)!right do i=0,im1 u(i,0 ) = bc(3)!bottom u(i,jm1) = bc(4)!top! set computation range is = 1 ie = im

23 js = 1 je = jm! main routine iter = 0 error = 1000.! ********************************************************************* do while(iter.le.itermax.and.error.gt.tolerance) call jacobi(u,im,jm,is,ie,js,je,error) iter = iter + 1 if(mod(iter,nprt).eq.0) write(*,100) iter,error! ********************************************************************* print*,'error=',error print*,'converged after ',iter,'iteration' 100 format('iteration=',i6,' Error=',e9.4)! OPEN(UNIT=10, FILE='outFDM2Seq.dat', STATUS='REPLACE', ACTION='WRITE') DO j=1,jm! WRITE (*, '128(F7.4,1x)'), (u(i,j), i=1,im)! WRITE (10, '128(F7.4,1x)'), (u(i,j), i=1,im) ENDDO! CLOSE(10) stop end subroutine jacobi(u,im,jm,is,ie,js,je,error) integer im,jm,is,ie,js,je integer i,j real error real u(0:im+1,0:jm+1), uo(0:im+1,0:jm+1)! store old data do j=0,jm+1 do i=0,im+1 uo(i,j) = u(i,j)! jacobi do j=js,je do i=is,ie u(i,j) = (uo(i-1,j)+uo(i+1,j)+uo(i,j-1)+uo(i,j+1))/4.0

24 ! error error = 0.0 do j=js,je do i=is,ie error = error + (u(i,j) - uo(i,j))**2 return end

25 병렬코드 (Fortran) PROGRAM FDM2D IMPLICIT NONE INCLUDE 'mpif.h' INTEGER :: nprocs, myrank, viewrank, ista, iend, jsta, jend, ierr, status(mpi_status_size), inext, iprev, isend1, isend2, irecv1, irecv2 INTEGER :: i, j, k INTEGER :: im,jm,im1,jm1, njm PARAMETER(im=300,jm=300) INTEGER :: is,ie,js,je INTEGER :: iter,itermax,nprt REAL :: tolerance REAL :: bc(4)!left,right,bottom,top REAL :: u(0:im+1,0:jm+1), newu(0:im+1, 0:jm+1), works1( jm), works2( jm), workr1( jm), workr2( jm) REAL :: error, errorsum CHARACTER*2 :: number CHARACTER*30 :: filename(0:10) INTEGER :: irecv(0:3), iscnt, ircnt(0:3), idisp(0:3)=(/1,33,65,97/) viewrank = 3! mpi ready CALL MPI_INIT(ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD, myrank, ierr) CALL para_range(1,im, nprocs, myrank, ista, iend)! read input data itermax= nprt=500 tolerance = 1.0e-7 bc(1) = 10.0 bc(2) = 10.0 bc(3) = 10.0 bc(4) = 20.0! initialize im1=im+1 jm1=jm+1 DO j=0,jm1 DO i=0,im1 u(i,j) = 0.0 END DO END DO! boundary conditions

26 IF(myrank == 0) THEN DO j=0, jm+1 u(0,j) = bc(1)!left ENDDO ENDIF IF(myrank == nprocs-1) THEN DO j=0, jm+1 u(im1,j) = bc(2)!right END DO ENDIF DO i=ista, iend u(i,0 ) = bc(3)!bottom u(i,jm1) = bc(4)!top END DO! set computation range is = ista ie = iend js = 1 je = jm inext = myrank + 1 iprev = myrank - 1 IF(myrank == 0) iprev = MPI_PROC_NULL IF(myrank == nprocs -1 ) inext = MPI_PROC_NULL! main routine iter = 0 error = errorsum = 1000.! ********************************************************************* DO WHILE(iter.LE.itermax.AND.errorsum.GT.tolerance)! do while(iter.le.itermax) IF(myrank /= nprocs-1) THEN DO j=1, jm works1( j) = u(iend, j) ENDDO ENDIF IF(myrank /= 0) THEN DO j=1, jm works2( j) = u(ista, j) ENDDO ENDIF CALL MPI_ISEND(works1, jm, MPI_REAL, inext, 1, MPI_COMM_WORLD, isend1, ierr) CALL MPI_ISEND(works2, jm, MPI_REAL, iprev, 1, MPI_COMM_WORLD, isend2, ierr)

27 CALL MPI_IRECV(workr1, jm, MPI_REAL, iprev, 1, MPI_COMM_WORLD, irecv1, ierr) CALL MPI_IRECV(workr2, jm, MPI_REAL, inext, 1, MPI_COMM_WORLD, irecv2, ierr) CALL MPI_WAIT(isend1, status, ierr) CALL MPI_WAIT(isend2, status, ierr) CALL MPI_WAIT(irecv1, status, ierr) CALL MPI_WAIT(irecv2, status, ierr) IF(myrank /= 0)THEN DO j=1, jm u(ista-1, j)=workr1( j) ENDDO ENDIF IF(myrank /= nprocs-1) THEN DO j=1, jm u(iend+1, j)= workr2( j) ENDDO ENDIF call jacobi(u,im,jm,is,ie,js,je,error) iter = iter + 1 CALL MPI_ALLREDUCE(error, errorsum, 1, MPI_REAL, MPI_SUM, MPI_COMM_WORLD, ierr) if((mod(iter,nprt).eq.0).and. myrank == viewrank) write(*,100) iter,errorsum! ********************************************************************* 100 format('iteration=',i6,' Error=',e9.4) IF(myrank == 0) THEN print*,'error=',errorsum print*,'converged after ',iter,'iteration' 200 format('iteration=',i6,' Error=',e9.4) ENDIF! delete communication data IF(myrank /= 0)THEN DO j=1, jm u(ista-1, j)=0.0 ENDDO ENDIF IF(myrank /= nprocs-1) THEN DO j=1, jm u(iend+1, j)=0.0 ENDDO ENDIF CALL MPI_REDUCE(u, newu, (im+2)*( jm+2), MPI_REAL, MPI_SUM, 0, MPI_COMM_WORLD, ierr) CALL MPI_FINALIZE(ierr) STOP

28 CONTAINS subroutine para_range(n1,n2,nprocs,irank,ista,iend) integer :: n1,n2,nprocs,irank,ista,iend integer :: iwork1,iwork2 iwork1 = (n2 - n1 + 1) / nprocs iwork2 = mod(n2 - n1 + 1, nprocs) ista = irank * iwork1 + n1 + min(irank,iwork2) iend = ista + iwork1-1 if(iwork2.gt. irank) iend = iend + 1 return end subroutine! jacobi subroutine subroutine jacobi(u,im,jm,is,ie,js,je,error) integer im,jm,is,ie,js,je,njm integer i,j real error real u(0:im+1,0:jm+1), uo(0:im+1,0:jm+1) do j=js-1,je+1 do i=is-1,ie+1 uo(i,j) = u(i,j)! jacobi do j=js,je do i=is,ie u(i,j) = (uo(i-1,j)+uo(i+1,j)+uo(i,j-1)+uo(i,j+1))/4.0! error error = 0.0 do j=js,je do i=is,ie error = error + (u(i,j) - uo(i,j))**2 return end subroutine end program FDM2D

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

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc 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

More information

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

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 병렬계산을이용한열방정식풀기. 1. 처음 병렬계산을하기전에 C 언어를이용하여명시적유한차분법으로하나의열방정식을풀어본 다. 먼저 C 로열방정식을이해한다음초기조건만다르게하여클러스터로여러개의열방 정식을풀어보자. 2. C 를이용한명시적유한차분법으로열방적식풀기 열방정식을풀기위한자세한이론은앞서다룬 Finite-Difference method 을보기로하고 바로식 (1.10)

More information

해양모델링 2장5~18 2012.7.27 12:26 AM 페이지6 6 오픈소스 소프트웨어를 이용한 해양 모델링 2.1.2 물리적 해석 식 (2.1)의 좌변은 어떤 물질의 단위 시간당 변화율을 나타내며, 우변은 그 양을 나타낸 다. k 5 0이면 C는 처음 값 그대로 농

해양모델링 2장5~18 2012.7.27 12:26 AM 페이지6 6 오픈소스 소프트웨어를 이용한 해양 모델링 2.1.2 물리적 해석 식 (2.1)의 좌변은 어떤 물질의 단위 시간당 변화율을 나타내며, 우변은 그 양을 나타낸 다. k 5 0이면 C는 처음 값 그대로 농 해양모델링 2장5~18 2012.7.27 12:26 AM 페이지5 02 모델의 시작 요약 이 장에서는 감쇠 문제를 이용하여 여러분을 수치 모델링 세계로 인도한다. 유한 차분법 의 양해법과 음해법 그리고 일관성, 정확도, 안정도, 효율성 등을 설명한다. 첫 번째 수치 모델의 작성과 결과를 그림으로 보기 위해 FORTRAN 프로그램과 SciLab 스크립트가 사용된다.

More information

차례. MPI 소개. MPI 를이용한병렬프로그래밍기초. MPI 를이용한병렬프로그래밍실제 4. MPI 병렬프로그램예제 l 부록 : MPI- l 용어정리 / 참고자료 Supercomputing Center 제 장 MPI 소개 MPI 를소개하고 MPI 를이해하는데 필요한기본

차례. MPI 소개. MPI 를이용한병렬프로그래밍기초. MPI 를이용한병렬프로그래밍실제 4. MPI 병렬프로그램예제 l 부록 : MPI- l 용어정리 / 참고자료 Supercomputing Center 제 장 MPI 소개 MPI 를소개하고 MPI 를이해하는데 필요한기본 MPI 를이용한 병렬프로그래밍 KISTI 슈퍼컴퓨팅센터 목 표 MPI 를활용해메시지패싱기반의병렬 프로그램작성을가능하도록한다. Supercomputing Center 차례. MPI 소개. MPI 를이용한병렬프로그래밍기초. MPI 를이용한병렬프로그래밍실제 4. MPI 병렬프로그램예제 l 부록 : MPI- l 용어정리 / 참고자료 Supercomputing Center

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

중간고사

중간고사 중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Microsoft Word - ExecutionStack

Microsoft Word - ExecutionStack Lecture 15: LM code from high level language /* Simple Program */ external int get_int(); external void put_int(); int sum; clear_sum() { sum=0; int step=2; main() { register int i; static int count; clear_sum();

More information

fx-82EX_fx-85EX_fx-350EX

fx-82EX_fx-85EX_fx-350EX KO fx-82ex fx-85ex fx-350ex http://edu.casio.com RJA532550-001V01 ...2... 2... 2... 3... 4...5...5...6... 8... 9...10... 10... 11... 13... 16...17...17... 17... 18... 20 CASIO Computer Co., Ltd.,,, CASIO

More information

99보고서.PDF

99보고서.PDF . 0 998 3000 (ITST,998).,, 7.0. 999 000.,.., (, 99;, 993,994). 998 (, 998)...,. - - .,,.,......,... 983, 993.,. 983.. - - 993 (,994),. 983,... - 3 - .. 7.0 000m. 000m. 000m,. cm.... / 4.,, ( ).,.. V,.,

More information

PowerPoint Presentation

PowerPoint Presentation MPI 를이용한병렬프로그래밍기초 : Point-to-Point Communication Hongsuk Yi KISTI Supercomputing Center 2009-11-09 1 MPI 란무엇인가? MPI Message Passing Interface 병렬프로그래밍을위해표준화된데이터통신라이브러리 MPI-1 표준마련 (MPI Forum) : 1994 년 Procs

More information

<4D F736F F F696E74202D20C0AFC7F6B0EF2DBFF93131C0CF2DC3D6C1BEBABBC0D32E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C0AFC7F6B0EF2DBFF93131C0CF2DC3D6C1BEBABBC0D32E BC8A3C8AF20B8F0B5E55D> 수퍼컴퓨터를이용한병렬몬 테카를로시뮬레이션 유현곤 (Hyun-GonRyu) Dept. of Mathematics Yonsei Univ. Email : yhgon@yonsei ac kr Email : yhgon@yonsei.ac.kr 2008 년 7 월 11 일금요일 목차 1. 기초금융공학, 몬테카를로시뮬레이션 2. 병렬컴퓨팅이란? 3. 병렬몬테카를로시뮬레이션

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

Outline PLSI 시스템접속병렬처리병렬프로그래밍개요 OpenMP를이용한병렬화 MPI를이용한병렬화순차코드의병렬화

Outline PLSI 시스템접속병렬처리병렬프로그래밍개요 OpenMP를이용한병렬화 MPI를이용한병렬화순차코드의병렬화 병렬프로그래밍 정진우 Outline PLSI 시스템접속병렬처리병렬프로그래밍개요 OpenMP를이용한병렬화 MPI를이용한병렬화순차코드의병렬화 PLSI 시스템개요 PLSI 사업과 PLSI 자원 PLSI 사업 (PLSI Project) 국내슈퍼컴퓨터자원을국가적차원의체계적인연동과관리를통해효율적으로사용할수있도록지원하는사업 PLSI is a national project

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

untitled

untitled int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

Microsoft PowerPoint - 타키온1&2

Microsoft PowerPoint - 타키온1&2 슈퍼컴퓨팅본부교육지원팀 슈퍼컴퓨터 (SUN Tachyon1&2 System) H/W, S/W 환경소개및실습 안병선 INDEX 1. 슈퍼컴퓨터 4 호기 2. Tachyon 소개 3. Tachyon 실습시스템소개 4. Tachyon 계산노드실습 5. SGE 를통한작업실행 6. 병렬코드성능최적화기법 01. 슈퍼컴퓨터 4 호기 Tachyon 소개 KISTI 슈퍼컴퓨터

More information

휠세미나3 ver0.4

휠세미나3 ver0.4 andromeda@sparcs:/$ ls -al dev/sda* brw-rw---- 1 root disk 8, 0 2014-06-09 18:43 dev/sda brw-rw---- 1 root disk 8, 1 2014-06-09 18:43 dev/sda1 brw-rw---- 1 root disk 8, 2 2014-06-09 18:43 dev/sda2 andromeda@sparcs:/$

More information

PRO1_02E [읽기 전용]

PRO1_02E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_02E1 Information and 2 STEP 7 3 4 5 6 STEP 7 7 / 8 9 10 S7 11 IS7 12 STEP 7 13 STEP 7 14 15 : 16 : S7 17 : S7 18 : CPU 19 1 OB1 FB21 I10 I11 Q40 Siemens AG

More information

*논총기획(1~160)

*논총기획(1~160) n i j z ij z ij Y i X i i a ij j i a ij =z ij /X j j i i j z ij W j X j j r ij j i X e H I-A e -1 H A e H A H H X H H e V e H A e v m i M i X i m i =M i / X i X R e H H H I-R e -1 H H mi-a -1 m H M e m

More information

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx 1. MATLAB 개요와 활용 기계공학실험 I 2013년 2학기 MATLAB 시작하기 이장의내용 MATLAB의여러창(window)들의 특성과 목적 기술 스칼라의 산술연산 및 기본 수학함수의 사용. 스칼라 변수들(할당 연산자)의 정의 및 변수들의 사용 방법 스크립트(script) 파일에 대한 소개와 간단한 MATLAB 프로그램의 작성, 저장 및 실행 MATLAB의특징

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

untitled

untitled 1... 2 System... 3... 3.1... 3.2... 3.3... 4... 4.1... 5... 5.1... 5.2... 5.2.1... 5.3... 5.3.1 Modbus-TCP... 5.3.2 Modbus-RTU... 5.3.3 LS485... 5.4... 5.5... 5.5.1... 5.5.2... 5.6... 5.6.1... 5.6.2...

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 종합과제 과제내용 구조체를이용하여교과목이름과코드를파일로부터입력받아관리 구조체를이용하여학생들의이름, 학번과이수한교과목의코드와점수를파일로부터입력 학생개인별총점, 평균계산 교과목별이수학생수, 총점및평균을계산 결과를파일에저장하는프로그램을작성 2 Makefile OBJS = score_main.o score_input.o score_calc.o score_print.o

More information

............ ......

............ ...... 3 N.P 하모닉드라이브 의 작동원리 서큘러스플라인 웨이브제네레이터 플렉스플라인 플렉스플라인은 웨이브제네레 이터에 의해 타원형상으로 탄 성변형되어 이로인해 타원의 장축부분에서는 서큘러스플라 인과 이가 맞물리고 단축부분 에서는 이가 완전히 떨어진 상태로

More information

PRO1_16E [읽기 전용]

PRO1_16E [읽기 전용] MPI PG 720 Siemens AG 1999 All rights reserved File: PRO1_16E1 Information and MPI 2 MPI 3 : 4 GD 5 : 6 : 7 GD 8 GD 9 GD 10 GD 11 : 12 : 13 : 14 SFC 60 SFC 61 15 NETPRO 16 SIMATIC 17 S7 18 1 MPI MPI S7-300

More information

hlogin2

hlogin2 0x02. Stack Corruption off-limit Kernel Stack libc Heap BSS Data Code off-limit Kernel Kernel : OS Stack libc Heap BSS Data Code Stack : libc : Heap : BSS, Data : bss Code : off-limit Kernel Kernel : OS

More information

Microsoft PowerPoint - m05_Equation1(Print) [호환 모드]

Microsoft PowerPoint - m05_Equation1(Print) [호환 모드] Chap. 5 비선형방정식의해법 (1) - 구간법 CAE 기본개념소개 비선형방정식의개요 증분탐색법 이분법 가위치법 1 Chap.5 비선형방정식 (1) 비선형방정식 (Nonlinear Equation) 선형방정식 : Ax = b 해석적인방법으로방정식을만족하는해의계산이용이함한번의계산으로해를구할수있음 x = A -1 b (Direct calculation) Example:

More information

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

More information

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf(hihi\n); } warning: conflicting types for functiona 이름 : 학번 : A. True or False: 각각항목마다 True 인지 False 인지적으세요. 1. (Python:) randint 함수를사용하려면, random 모듈을 import 해야한다. 2. (Python:) '' (single quote) 는한글자를표현할때, (double quote) 는문자열을표현할때사용한다. B. 다음에러를수정하는방법을적으세요.

More information

歯메뉴얼v2.04.doc

歯메뉴얼v2.04.doc 1 SV - ih.. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - - - 23 24 R S T G U V W P1 P2 N R S T G U V W P1 P2 N R S T G U V W P1 P2 N 25 26 DC REACTOR(OPTION) DB UNIT(OPTION) 3 φ 220/440 V 50/60

More information

물리학자를 위한 MPI

물리학자를 위한 MPI 물리학자를위한 MPI 이인호 ihlee@kriss.re.kr 한국표준과학연구원 2003 년 3 월 3 일출발합니다. MPI (Message Passing Interfae) 란무엇인가? MPI 자체는병렬라이브러리들에대한표준규약이다. (125개의서브프로그램들로구성되어있다.) MPI로만들어진병렬라이브러리를사용한다면작성된응용프로그램이 soure level의호환성을보장받을수있다.

More information

Week5

Week5 Week 05 Iterators, More Methods and Classes Hash, Regex, File I/O Joonhwan Lee human-computer interaction + design lab. Iterators Writing Methods Classes & Objects Hash File I/O Quiz 4 1. Iterators Array

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

chap01_time_complexity.key

chap01_time_complexity.key 1 : (resource),,, 2 (time complexity),,, (worst-case analysis) (average-case analysis) 3 (Asymptotic) n growth rate Θ-, Ο- ( ) 4 : n data, n/2. int sample( int data[], int n ) { int k = n/2 ; return data[k]

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

Microsoft Word - cover.docx

Microsoft Word - cover.docx Parallel Programming using MPICH2 차 례 1. Parallel Programming 환경구축 - 1 2. Parallel Programming using MPICH2-13 3. 병렬처리예제프로그램 - 22 4. 참고자료 - 23 1. Parallel Programming 환경구축병렬프로그래밍을위하여널리사용되는 Message Programming

More information

<4D F736F F F696E74202D FC0CFB9DD5FBAB4B7C4C7C1B7CEB1D7B7A1B9D62E >

<4D F736F F F696E74202D FC0CFB9DD5FBAB4B7C4C7C1B7CEB1D7B7A1B9D62E > 컴퓨팅브릿지일반병렬프로그래밍 김정한 목표 병렬프로그래밍을하기위해필요한사전지식을 전달하고, OpenMP와 MPI의개념및사용법을소개하여간단한병렬프로그램을직접작성할수있게한다. INDEX 1. 병렬프로그래밍개요 2. OpenMP 사용법 3. MPI 사용법 01. 병렬프로그래밍개요 병렬프로그래밍과관련된개념을정리하고병렬프로그래밍모델, 성능측정, 그리고병렬프로그램의작성과정에대해알아본다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 RecurDyn 의 Co-simulation 와 하드웨어인터페이스적용 2016.11.16 User day 김진수, 서준원 펑션베이솔루션그룹 Index 1. Co-simulation 이란? Interface 방식 Co-simulation 개념 2. RecurDyn 과 Co-simulation 이가능한분야별소프트웨어 Dynamics과 Control 1) RecurDyn

More information

낙랑군

낙랑군 낙랑군( 樂 浪 郡 ) 조선현( 朝 鮮 縣 )의 위치 -낙랑군 조선현의 평양설 및 대동강설 비판- 이덕일 (한가람역사문화연구소 소장) 1. 머리말 낙랑군의 위치는 오랜 쟁점이었고, 현재까지도 한 중 일 사이의 역사현안이기도 하다. 낙랑군 의 위치에 따라서 동북아 고대사의 강역이 달라지기 때문이다. 낙랑군의 위치 중에서도 가장 중요한 것은 낙랑군의 치소( 治

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

PRO1_01E [읽기 전용]

PRO1_01E [읽기 전용] PCS 7 Software NET PC WinCC HMI DP Controller Siemens AG 1999 All rights reserved File: PRO1_01E1 2 S7-200 3 S7-200: 4 S7-200: CPU 5 S7-300 6 S7-300: 7 S7-300: CPU 8 S7-400 9 S7-400: 10 S7-400: CPU (1)

More information

untitled

untitled 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

歯FDA6000COP.PDF

歯FDA6000COP.PDF OPERATION MANUAL AC Servo Drive FDA6000COP [OPERATION UNIT] Ver 1.0 (Soft. Ver. 8.00 ~) FDA6000C Series Servo Drive OTIS LG 1. 1.1 OPERATION UNIT FDA6000COP. UNIT, FDA6000COP,,,. 1.1.1 UP DOWN ENTER 1.1.2

More information

미디어펜 기고문

미디어펜 기고문 K뷰티 의 기틀을 세운 아모레퍼시픽 서성환 회장 이 근 미 (소설가) 아모레퍼시픽의 현주소 2009년 1월 29일 전국 25개 롯데백화점 가운데 매출순위가 높은 대도시 7개 점에서 세계적인 브랜드인 샤넬화장품(이하 샤넬)이 철수했다. MD(매장진열) 개편을 앞두고 위치 변경과 축소를 요청하는 공문을 9차례 보내자 자존심이 상한 샤넬이 짐을 싸버린 것이다(몇

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using

More information

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & / SINUMERIK 840C Service and Uer Manual DATA SAVING & LOADING & & / / NC, RS232C /. NC NC / Computer link () Device ( )/PC / / Print erial Data input RS232C () Data output Data management FLOPPY DRIVE, FLOPPY

More information

歯9장.PDF

歯9장.PDF 9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'

More information

Microsoft PowerPoint - 병렬표준.pptx

Microsoft PowerPoint - 병렬표준.pptx Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과 목차 Why Parallel? Parallel Processing Parallel Programming MPI의기본개념 MPI 표준 MPI 프로그램및실행 Related Topics & Questions Why Parallel? (1) Why parallel computing?

More information

9

9 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

예제 1.1 (MATLAB m-file pnk.m) function val = pnk(n,k) k-permutation from n-set P(n,k) = n (n-1) (n-2)... (n-k+1) if (k > n) val = NaN; disp('invalid input: Check if k > n') return val = 1; for i = n-k+1:n;

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ 알고리즘설계와분석 (CSE3081(2 반 )) 기말고사 (2016년 12월15일 ( 목 ) 오전 9시40분 ~) 담당교수 : 서강대학교컴퓨터공학과임인성 < 주의 > 답안지에답을쓴후제출할것. 만약공간이부족하면답안지의뒷면을이용하고, 반드시답을쓰는칸에어느쪽의뒷면에답을기술하였는지명시할것. 연습지는수거하지않음. function MakeSet(x) { x.parent

More information

Microsoft PowerPoint - 08_(C_Programming)_(Korean)_Preprocessing

Microsoft PowerPoint - 08_(C_Programming)_(Korean)_Preprocessing C Programming 전처리 (Preprocessing) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 C 전처리기 조건및분할컴파일 2 C 전처리기 C 전처리기 매크로상수 매크로함수 조건및분할컴파일 3 전처리 (Preprocessing) C 전처리기 (1/3) 원시소스파일을컴파일하기전에행해야할일련의작업 외부파일포함기능

More information

예제 1.1 ( 경기값과공정한경기 ) >> A = [5 3 9; 8 10 11; 6 2 8], P = [0 1 0], Q = [1 0 0]' % 3x3 행렬경기 A = 5 3 9 8 10 11 6 2 8 P = 0 1 0 Q = 1 0 0 >> E = P * A * Q % 경기자 R은항상 2행을선택하고 C는항상 1열을선택하면, % R은 $8을얻는것이보장되고

More information

초대형 유한요소 해석결과의 효율적 후처리를 위한 후 분류 기반 병렬 가시화 알고리듬의 개발

초대형 유한요소 해석결과의 효율적 후처리를 위한 후 분류 기반 병렬 가시화 알고리듬의 개발 .,.,..,.,. - i - Abstract The necessity of large-scale finite element analysis is increased according to the request of reliable design of aerospace structures and highly accurate analysis. To satisfy

More information

금안13(04)01-도비라및목차1~12

금안13(04)01-도비라및목차1~12 ISSN 1975-667 13. 13. 1 8 6 1 8 6 5 1.6 5 6.7 3.7 65.5 9. 1 5.5 5 16 1 13 136 16 1 8 8 35 3 95 9 5 85 6 5..5 5..5 1 8 1 8.. 6 6 6 3 3 7 7 5 3 1 1 1 18 18 7 1 9 6 1 9 6 15 1 15 1 3 3 5 5-3

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

10.

10. 10. 10.1 10.2 Library Routine: void perror (char* str) perror( ) str Error 0 10.3 10.3 int fd; /* */ fd = open (filename, ) /*, */ if (fd = = -1) { /* */ } fcnt1 (fd, ); /* */ read (fd, ); /* */ write

More information

Microsoft PowerPoint - lab14.pptx

Microsoft PowerPoint - lab14.pptx Mobile & Embedded System Lab. Dept. of Computer Engineering Kyung Hee Univ. Keypad Device Control in Embedded Linux HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착되어있다. 2 Keypad Device Driver

More information

실사구시학파의 실증적 학풍이 일어나므로 서구적인 과학사상의 유입을 본 것 등이 인식 의 대상이 될 것이다. 그러나 이조 봉건사회 최종의 절대적 왕권주의자 대원군에 의하여 그 싹은 잘리고 말았다. 따라서 다단한 전기가 될 근대적 개방에 의하여 재건하려던 서구적 교육 즉

실사구시학파의 실증적 학풍이 일어나므로 서구적인 과학사상의 유입을 본 것 등이 인식 의 대상이 될 것이다. 그러나 이조 봉건사회 최종의 절대적 왕권주의자 대원군에 의하여 그 싹은 잘리고 말았다. 따라서 다단한 전기가 될 근대적 개방에 의하여 재건하려던 서구적 교육 즉 朝 鮮 科 學 史 JB409.11-1 洪 以 燮 (홍이섭) 著 - 東 京 : 三 省 堂 出 版 ( 株 ) 1944년( 昭 和 19) [서론] 一. 과학사의 방법 인류의 행복의 증진은 과학과 자연과의 투쟁에 관련된다. 국가의 국방적 건설과 국토 계획 이야말로 국민생활의 최고의 지표인데 그 기초적 문제는 과학에 있다. 그러므로 현대 인류생 활의 기술적 문제로서의

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED

More information

EA0015: 컴파일러

EA0015: 컴파일러 4 Flex 무엇을공부하나? " 어휘분석기 (lexical analyzer 혹은 scanner)" 는다음과같은과정을거쳐서프로그램된다. 1 토큰정의, 2 정규식으로표현, 3 NFA로변환, 4 DFA로변환, 5 프로그램작성 위과정은앞장에서배운바와같이기계적으로이루어질수있다. "Flex(Fast Lexical Analyzer)" 는컴파일러개발자를위하여위과정을자동으로처리해주는도구이다.

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

( )프로본문_ok

( )프로본문_ok 직업탐구 영역 프로그래밍 기획 및 개발 김원정(EBS) 집필 및 검토 이병모(덕정고) 이주암(강서공고) 정종직(단산중) 홍석범(상일미디어고) 이경배(선일이비즈니스고) 01 06 11 16 21 26 31 36 41 46 EBSi www.ebsi.co.kr Q&A EBSi www.ebsi.co.kr EBSi VOD 1 EBS 30 50 1 3 2 4 01 1

More information

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예 Mitsubishi FX Series Computer Link 2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK... 1 1. 시스템구성... 3 2. 시스템설정... 4 3. 사용예... 6 3.1. 사용예 1... 6 3.2. 사용예 2... 9 4. 케이블연결도... 13 4.1.

More information

ch3.hwp

ch3.hwp 미디어정보처리 (c) -4 한남대 정보통신멀티미디어학부 MCCLab. - -...... (linear filtering). Z k = n i = Σn m Σ j = m M ij I ji 컨볼루션 영역창 I I I I 3 I 4 I 5 I 6 I 7 I 8 x 컨볼루션 마스크 M M M M 3 M 4 M 5 M 6 M 7 M 8 I 입력 영상 Z 4 = 8 k

More information

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

int main(void) int a; int b; a=3; b=a+5; printf(a : %d \n, a); printf(b : %d \n, b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf( a : %x \ ? 1 int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \n", &a); printf(" b : %x \n", &b); * : 12ff60,

More information

(Hyunoo Shim) 1 / 24 (Discrete-time Markov Chain) * 그림 이산시간이다연쇄 (chain) 이다왜 Markov? (See below) ➀ 이산시간연쇄 (Discrete-time chain): : Y Y 의상태공간 = {0, 1, 2,..., n} Y n Y 의 n 시점상태 {Y n = j} Y 가 n 시점에상태 j 에있는사건

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

PRO1_04E [읽기 전용]

PRO1_04E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_04E1 Information and S7-300 2 S7-400 3 EPROM / 4 5 6 HW Config 7 8 9 CPU 10 CPU : 11 CPU : 12 CPU : 13 CPU : / 14 CPU : 15 CPU : / 16 HW 17 HW PG 18 SIMATIC

More information

Microsoft PowerPoint - Chapter8.pptx

Microsoft PowerPoint - Chapter8.pptx Computer Engineering g Programming g 2 제 8 장함수 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 모듈화 함수의개념, 역할 함수작성방법 반환값 인수전달 규모가큰프로그램은전체문제를보다단순하고이해하기쉬운함수로나누어서프로그램을작성하여야합니다.

More information

? Search Search Search Search Long-Tail Long-Tail Long-Tail Long-Tail Media Media Media Media Web2.0 Web2.0 Web2.0 Web2.0 Communication Advertisement

? Search Search Search Search Long-Tail Long-Tail Long-Tail Long-Tail Media Media Media Media Web2.0 Web2.0 Web2.0 Web2.0 Communication Advertisement Daum Communications CRM 2007. 3. 14. ? Search Search Search Search Long-Tail Long-Tail Long-Tail Long-Tail Media Media Media Media Web2.0 Web2.0 Web2.0 Web2.0 Communication Advertisement Communication

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

[ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : ~ 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 )

[ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : ~ 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 ) [ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : 2013. 3. 1 ~ 2014. 2. 28 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 ) 장은영 ( 부산일과학고 ) 정우현 ( 부산일과학고 ) 조아현 ( 부산일과학고 ) 1 -

More information

CPX-E-PB_BES_C_ _ k1

CPX-E-PB_BES_C_ _ k1 CPX-E CPX-E-PB PROFIBUS DP 8723 27-7 [87536] CPX-E-PB CPX-E-PB-KO PI PROFIBUS PROFINET (). :, 2 Festo CPX-E-PB-KO 27-7 CPX-E-PB... 4.... 4.2... 4.3... 4.4... 5.5... 5 2... 6 2.... 6 2..... 6 2..2... 6

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다. C 언어와 Assembly Language 을사용한 Programming 20011.9 경희대학교조원경 1. AVR Studio 에서사용하는 Assembler AVR Studio에서는 GCC Assembler와 AVR Assmbler를사용한다. A. GCC Assembler : GCC를사용하는경우 (WinAVR 등을사용하는경우 ) 사용할수있다. New Project

More information

..........(......).hwp

..........(......).hwp START START 질문을 통해 우선순위를 결정 의사결정자가 질문에 답함 모형데이터 입력 목표계획법 자료 목표계획법 모형에 의한 해의 도출과 득실/확률 분석 END 목표계획법 산출결과 결과를 의사 결정자에게 제공 의사결정자가 결과를 검토하여 만족여부를 대답 의사결정자에게 만족하는가? Yes END No 목표계획법 수정 자료 개선을 위한 선택의 여지가 있는지

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information