タイトル

科目名[英文名] シミュレーション科学[Simulations in Science] 
担当教員[ローマ字表記] 小田 竜樹[ODA, Tatsuki] 
科目ナンバー COMS3404A  科目ナンバリングとは
時間割番号 31030  科目区分 ----- 
講義形態 講義  開講学域等 理工学域 
適正人数 -----  開講学期 Q1,Q2 
曜日・時限 火2  単位数 2単位 
授業形態   60単位上限  
対象学生 ----- 
キーワード 【オンデマンド教材型】計算科学、大規模計算、次世代スーパーコンピュータ、並列処理、プログラミング技術、コンパイル、数値計算ライブラリー、高速化、大規模計算機での実行、MPIのよる並列化、OpenMPによる並列化、プログラム開発と可搬性 【on-demand class type】computer in next generation, parallel processing, programing technique, compile, library for numerical computation, speed-up of calculation, execution in large scale computer, parallelization by MPI, parallelization by OpenMP, development in program code and portability  
講義室情報 自然科学5号館B 第2講義室 
開放科目 ----- 
備考 ----- 

授業の主題
計算機を用いた数値シミュレーションは、産業界において欠かせないツールとなっている。実際の実験を極力行わず製品開発、安心・安全のための対策、創薬スクリーニング等、あらゆる分野において計算科学の考え方が重要となっている。計算科学を実際に追及するためには、計算機を用いる計算技術、特に計算の大規模化された計算の実施が要求される。そこで本授業では、大規模計算あるいは長時間計算の必要性の理解とそのような計算を実施するための知識を学習し、実際に並列処理計算を、実習を通して学ぶ。個人的に使用できる計算機ではなく、公的に準備された大型計算機の使用法などについても学ぶ。

For pursuing computational science, it is required to obtain techniques in computer computation, particularly, the technique of large scale computing. In this course, student understands the necessities of large scale computing and long-time computing and learns the knowledge for their computing. Indeed, he/she learns parallel process of computation through exercises. He/she also learns how to use the large-scale public computer other than the personal computer.
 
授業の目標
学術分野だけでなく、産業分野や社会分野における計算科学の必要性や重要性を理解させる。それとともに、計算機の大規模化や高速化の要請に伴い必要となる知識や技術を与える。計算プログラムにおける高速化や並列化における知識や技術を与える。また具体的な実習を通して現在の技術の一端を身に付ける。また公的に設備された大型計算機の使用が円滑に行えるようにあらかじめ知識を与え学内計算機にて実習を行う。

The lecture requires the understanding on the necessity and importance of computational science in the fields of industrial and social communities as well as academic community. The lecture provides knowledge and technique for large scale computing and high-speed computing. The lecture also provides technical terms in speed-up and parallelization. Through the practical exercises, the lecture provides an opportunity for learning current techniques. Moreover, using a computer in a local laboratory, the lecture provides how to use a large scale public computer.
 
学生の学修目標
産業界における計算科学の必要性や重要性を理解し、その必要不可欠な現代の社会環境の認識を新たにする。大型計算機にて高速な計算を行う場合に必要な知識や技術の一端を学習し、積極的に大規模計算や長時間計算を行うための知識を身に付ける。また公的な大型計算機の構造やその使用法を理解して、効率的に使用するための知識と技術の一端を身に付ける。

The student understands the necessity and importance of computational science in industrial community and recognizes the current social circumstance in which computational science is responsible. He/she learns the partial portion of knowledge and technique which is required in the computation for fast calculation in large scale computer. Further, he/she understands the structure of large scale computer and how to use it, and learns the knowledge and technique for effective performance.

 
授業概要
授業前半は、計算科学、大規模計算、並列処理、大型計算機等について学術的社会的必要性や産業上のニーズ等を交えて、講義を行う。配布されたプリントを確認し、難解である事項については予習および復習を行っておくこと。授業後半は、課題1-4を課す。大規模計算機の操作、プログラミング、並列計算等の実習を、授業と自主学習を通して十分に行うことが必要である。

第1回 計算科学、大規模計算、長時間計算(配布資料no.1)
第2回 大規模計算機、次世代スーパーコンピュータ(配布資料no.1)
第3回 並列化のためのアルゴリズム(配布資料no.2)
第4回 並列処理(MPU(CPU)、コア、スレッド、専用計算機、GPU)(配布資料no.3)
第5回 大規模計算を可能にするパッケージプログラム、
     プログラミング技術、コンパイル、unix OS(Linux OS) (配布資料no.3-4)
第6回 makeコマンド, makefile, コンパイルオプション、ライブラリー、
     数値計算ライブラリー(配布資料no.3-4)
第7回 最適化オプションと高速化(配布資料no.4)
第8回 大規模計算機での実行、ジョブの投入・確認・停止、並列計算の指定(配布資料no.5)
第9回 冗長計算によるプログラムの高速化と時間計測、実習課題1(配布資料no.3,5)
第9回 MPI(セッセージパッシングインターフェース)のよる並列化と時間計測(配布資料no.3-4)
第10回 OpenMP(オープンエムピー)による並列化と時間計測(配布資料no.6)
第11回 GPUの仕組みとそれを用いた高速化(配布資料no.7)
第12回 MPIと OpenMPを同時に使う混成並列処理による高速化、実習課題2(配布資料no.4,6)
第13回 プロセッサーとプログラム開発、プログラム開発と可搬性(配布資料no.4,5)
第14回 実習課題3の実施(ジョブ投入、MPI並列化、OpenMP並列化)(配布資料no.4-6)
第15回 実習課題4の実施(混成並列化)(配布資料no.4-6)


予習復習(各回90分の自習時間を含め、期間を通して通算60時間の自習時間)が必要です。



In the first half of course, students learn computational science, large scale computing, parallel computation, and large scale computer, with discussing the necessity on academic, social, and industrial points of views. Students are required to check the contents of lectures before each lecture time and, when the difficulties are grown up to them, they should prepare before and review after with using the handouts. In the successive half of course, the students are required to exercise four problems and to submit the reports. In both lecture time and self-studying time, students must do enough exercise in the manipulation of large scale computer, programing, parallel computation etc.

1st lecture: computational science, large scale computing, long-time computing
2nd lecture: large scale computer, supercomputer in next generation
3rd lecture: algorithm for parallelized computation
4th lecture: parallel process (in MPU(CPU), core, thread, special purpose computer, Graphical process unit)
5th lecture: program package which enable a large scale computing (programinng technique, compile technique, unix OS(Linux OS))
6th lecture: make command, makefile, compile options, library, libraries for numerical computation
7th lecture: optimization in compile and speed-up
8th lecture: execution in large scale computers, job submission, job conformation, job cancelation, specification of parallel computation
9th lecture: speed-up and time-measurement in the single process, exercise 1
10th lecture: parallelization and time-measurement in MPI (message passing interface), parallelization and time-measurement in OpenMP
11th lecture: structure of GPU and speed-up, exercise 2
12th lecture: hybrid parallelization by MPI and OpenMP
13the lecture: processor and development in programing code, development in programing code and portability
14th lecture: exercise 3 (job submission, MPI parallelization, OpenMP parallelization)
15th exercise4 (hybrid parallelization)

Preparation and review are necessary: for students to study themselves for total 60 hours through the end of this course including the time of preparation and review on each work.

 
評価方法と割合
評価方法
標準評価方法/Standard rating method 課題レポートの提出、計算科学における大型計算機や大規模計算の必要性と重要性に理解、身に付けている高速化技術と並列化技術等を総合的に評価する。

Comprehensible evaluation by reports, the understanding on the necessity and importance of large scale computer and computing in computational science, and the achievement in the technique of fast computing and parallel computing.
 
評価の割合
記述箇所 課題レポートの提出(90%)、その他(計算科学における大型計算機や大規模計算の必要性と重要性に理解度+身に付けている高速化技術と並列化技術等)(10%)/Report (90%), others(10%) in evaluation.

 
授業時間外の学修に関する指示
予習に関する指示
特になし。ただし、遠隔授業の場合は、Linux系OS(Cygwinなど)を使える環境(必携ノートPC)が動作しているか確認するように願います。/For remote learning case, please make sure that, supposing your laptop or desk top PC, you can use the Linux OS (Cygwin is enough) in your machine.
 
予習に関する教材
 
復習に関する指示
復習に関する教材
 
教科書・参考書
教科書・参考書補足
配布資料no.1-7 / Handout nos.1-7
 
オフィスアワー等(学生からの質問への対応方法等)
金曜日10時- 12時(時間が掛かりそう質問の場合は、あらかじめoda@cphys.s.kanazawa-u.ac.jpへメールで連絡をとり、質問内容の概略を伝えて、対面での約束時間を決めてから来訪ください。居室5号館325室)/10:00-12:00 on Friday (If you thought it needs a long time on your question, please contact to me by email oda@cphys.s.kanazawa-u.ac.jp beforehand, and make an appointment of time and date. At that time, please let me know a brief explanation of your question, if possible.) (room 325 in 5th building.)
 
履修条件
特になし
 
特記事項
特になし

ページの先頭へ