수치 컴퓨팅 및 GPU 프로그래밍 과제 4 공지 게시판입니다.

 

과제 4와 관련된 내용, 질문에 대한 답을 정리하여 업데이트 할 것입니다.

 

자세한 내용은 수업 시간에 나눠준 문서를 참조하시면 됩니다.

 

○제출 기한

    -프로그램 부분 제출 기한 : 6/27(수) 오후 5시 정각

 

○제출 형식

    -과제 제출 메일 : ajp5050@daum.net

 

    -이메일 제목 : HW4_S[학번]_[이름]

        ex) HW4_S320150054_안재풍

    -파일 압축명 : HW4_S[학번]_[이름].zip

        ex) HW4_S320150054_안재풍.zip

 

 

○채점 기준

1) 데이터

    - 문서에 있는 조건에 맞도록 데이터를 생성하고 제출

 

    - 데이터에 대해서는 Late를 받지 않음

 

2) 프로그램

    - 목적과 요구사항에 맞도록 프로그램을 작성

 

    - 프로그램에서 결과 값 자체를 틀리게 출력한다면 해당 부분 0점

 

    - 채점 시 Release 모드로 컴파일하여 채점합니다. 해당 모드에서 컴파일 및 런타임 에러시 0점

 

    - 채점 환경은 Visual Studio 2017을 기준으로 합니다.

 

    - GPU를 사용할 수 있는 윈도우 환경이 없는 경우에 한해 cmake 빌드 시스템 사용을 허용합니다.

        * 되도록이면 권장하지는 않습니다.

        * cmake 툴을 사용하여 Visual studio 2017 솔루션 파일로 변형 후 채점하는 것을 기준으로 합니다.

        * cmake 빌드 시스템을 사용 할 시, 보고서에 명시하여야 합니다.

        * 변형된 프로젝트 파일은 위의 채점 기준을 따라야 하며, 변환된 프로젝트 파일에 이상이 있는 경우 불이익이 있을 수 있습니다.

 

--------------------------------------------------------------------------------------------------------------------------------

# 2018/06/20

    - 프로그램 작성 시, Matrix 곱셈/덧셈 정도는 라이브러리를 사용해도 상관 없습니다.

      다만, 라이브러리를 제출 시 포함해야 하며, 상대경로로 지정하여 사용해야 합니다.

      예를 들면, $(SolutionDir)과 같은 매크로를 사용하여 상대경로로 라이브러리 경로를 지정할 수 있습니다.

 

    - 제출 시, 여러개의 Solution 파일을 되도록 제출하지 마십시오.

      제출한다면 어떤 코드를 채점해야 하는지 적어야 합니다.

      예를 들면,

 

      HW3_20******_***.zip

        ㄴA_proj

          ㄴmain.cpp

        ㄴB_proj

          ㄴmain.cpp

        ㄴC_proj

          ㄴmain.cpp

 

      위와 같은 형태로 제출하면 어느 main.cpp를 채점해야 할지 모르기 때문에 아예 채점을 하지 않을 것입니다. (0점 처리)

 

 

    - 코드 작성시, 코드를 변경하면서 수행해야 하는 경우엔 코드 상단에 전처리기(preprocessor)등을 사용하여 코드의 윗 부분에서 변경 가능하게 하십시오.

 

      예를 들어,

      main.cpp, 30번째 줄에서 CPU/GPU를 선택해주시고,

      main.cpp, 180번째 줄에서 함수 종류를 선택해주시고,

      main.cpp, 530번째 줄에서 Workgroup 크기를 바꿔주시고,

      main.cpp, 830번째 줄에서 원하는 함수 주석을 해제해 주시고,

      main.cpp, 1040번째 줄에서 그 함수내에서 원하는 값을 세팅해주시고

      ...

      등을 하면 case 1이 수행됩니다.

 

      와 같이 세팅하는 변수가 여기 저기 퍼져있거나, 주석을 알아서 해제해서 수행하라고 둔다면 해당 부분은 감점될 수 있습니다.

 

      #if / #else / #endif / #ifdef 등을 사용한다면 여기저기 퍼져있는 세팅을 한 곳으로 모을 수 있을 것입니다.

 

     예를 들어,

      #define CPU 0

      #define GPU 1

      #define SELECT_DEVICE GPU

 

      #if SELECT_DEVICE == GPU

      // GPU 부분 수행

     #endif

 

     와 같은 형태로 사용 할 수 있습니다.

 

--------------------------------------------------------------------------------------------------------------------------------

 

3) 보고서

    - 작성된 프로그램의 실행 결과를 분석

 

    - 보고서에 실험환경을 기술

 

    - 속도/정확성 측정 결과는 표나 그래프와 같은 형태로 나타내어 비교할 수 있도록 표시

 

    - 속도/정확성 측정 결과가 실험한 결과처럼 나온 이유를 서술

 

    - 이 또한 각 항목에 대하여 부분적으로 채점

 

 

4) 기타

    - 채점은 보고서인 Readme 파일을 기준으로 채점, 미기재시 해당 부분을 채점하지 않을 수도 있음

 

    - 파일 이름 및 메일 형식 오타 시 감점

 

    - 구글 드라이브 등과 같은 클라우드 드라이브 링크는 받지 않습니다. (미제출 처리)

 

    - 알집 사용으로 인해 압축이 깨진 상태로 전송하면 채점을 할 수가 없습니다. (미제출 처리)

 

    - Copy의 경우 문서에 적힌대로 불이익이 있습니다.

 

 

 

○ 질문 및 답변

--------------------------------------------------------------------------------------------------------------------------------

# 2018/06/26 추가

 

Q : obj를 읽을 때 이전 컴파일러로 만들어졌다고 에러가 납니다.

 

A :

프로젝트 속성 -> 구성 속성 -> C/C++ -> 최적화에서

 

전체 프로그램 최적화를 '아니오'로 바꿔주면 됩니다.

 

 

 

Q : 구동하다가 에러가 납니다.

 

A :

fortan 문서를 읽고 특별한 문제가 없다면, ITOL을 1과 같은 값 으로 변경하여 수렴 조건을 완화하십시오.

 

 

 

Q : 데이터의 경로?

 

A :

프로젝트 파일이 있는 폴더(cpp 코드 있는 곳) 안에 data 폴더를 생성하고 거기에 데이터를 넣어주십시오.

 

 

 

--------------------------------------------------------------------------------------------------------------------------------

 

ChangeLog

----------------------------------------------------------------

# 2018/06/26

과제 질문 답변

----------------------------------------------------------------

# 2018/06/20

과제 제출 기한 일부 변경 및 제출 공지

----------------------------------------------------------------

# 2018/06/11

과제 시작 및 공지

----------------------------------------------------------------

댓글 0

번호 제목 글쓴이 날짜 조회 수
» 수치 컴퓨팅 및 GPU 프로그래밍 - 과제 4 (2018/06/26 18:30 수정) grmanet 2018.06.12 536
공지 수치 컴퓨팅 및 GPU 프로그래밍 - 과제 3 (2018/06/26 17:00 수정) grmanet 2018.06.04 538
공지 수치 컴퓨팅 및 GPU 프로그래밍 - 기말고사 grmanet 2018.06.04 252
공지 수치 컴퓨팅 및 GPU 프로그래밍 - 과제 2 (2018/05/19 21:30 수정) grmanet 2018.05.03 1130
공지 수치 컴퓨팅 및 GPU 프로그래밍 - 중간고사 grmanet 2018.04.09 345
공지 수치 컴퓨팅 및 GPU 프로그래밍 - 과제 1 (2018/04/12 19:50 수정) grmanet 2018.03.29 1741
공지 2018 1학기 수치 컴퓨팅 및 GPU 프로그래밍 게시판입니다. grmanet 2018.03.29 370
2 OpenCL 코드 플랫폼 설정 방법 file grmanet 2018.04.04 821
1 OpenCL Workgroup 구성과 데이터 접근 (2018.04.12 16:40 수정) file grmanet 2018.04.12 343