2008 Summer
Computational Science Software Development 2008
July 14, 2008 – August 8, 2008
臺大數學科學中心 計算科學軟體研發研習會
Well designed computational science software is a powerful tool for conducting researches and solving real world problems. It is also essential for commercial software product development. Developing computational science software is a highly interdisciplinary activity where knowledge and techniques from applied mathematics, computer science, and application domains must be integrated.
Starting from introduction to basic software tools, the speakers and mentors will guide attendees to harness high-performance power. Students from all fields are welcome. Motivation is the key factor. Familiarity with one computer language (e.g. C, C++, Fortran, or Matlab) will be helpful.
The workshop contains lectures and hands-on labs on the following topics.
- Basic Tools
- Introduction to Linux and Shell Script, Tools for Software Development, Compiler and Optimizer
- Parallel Computing
- Introduction to Parallel Computing, Shared Memory Parallelization (OpenMP), Distributed Memory Parallelization (MPI), Distributed Shared Memory Parallelization (ClusterOpenMP and OpenMP w/ MPI)
- CPU-GPU Computing
- Architecture of Graphic Process Unit (GPU), Programming, Debugging, and Performance Turning in NVIDIA CUDA, Use Graphic Process Unit for Scientific Computing
- High Level Development Tools
- Star-P, PETSc
- Computational Science Software Projects
- Mentors will help attendees to identify personal or team project topics from various applications. The projects are intended to be started easily and then to be extended to further researches.