[Beowulf] May 1st 2013 (10 weeks) Coursera High Performance Scientific Computing

Joshua Mora joshua_mora at usa.net
Wed Apr 10 07:54:13 PDT 2013


Thanks for the pointer.
It seems rather complete but it is missing an important or fundamental topic
for high performance computing: profiling, at least at introductory level.

Joshua

------ Original Message ------
Received: 04:45 PM CEST, 04/10/2013
From: Eugen Leitl <eugen at leitl.org>
To: Beowulf at beowulf.org, info at postbiota.org
Subject: [Beowulf] May 1st 2013 (10 weeks) Coursera High Performance
Scientific	Computing

> 
> https://www.coursera.org/course/scicomp
> 
> High Performance Scientific Computing
> 
> Randall J. LeVeque
> 
> Programming-oriented course on effectively using modern computers to solve
> scientific computing problems arising in the physical/engineering sciences
> and other fields. Provides an introduction to efficient serial and parallel
> computing using Fortran 90, OpenMP, MPI, and Python, and software
development
> tools such as version control, Makefiles, and debugging.
> 
> Watch intro video Next Session: May 1st 2013 (10 weeks long)	Workload:
> 10-12 hours/week 
>  
> 
> About the Course
> 
> Computation and simulation are increasingly important in all aspects of
> science and engineering. At the same time writing efficient computer
programs
> to take full advantage of current computers is becoming increasingly
> difficult. Even laptops now have 4 or more processors, but using them all
to
> solve a single problem faster often requires rethinking the algorithm to
> introduce parallelism, and then programming in a language that can express
> this parallelism.  Writing efficient programs also requires some knowledge
of
> machine arithmetic, computer architecture, and memory hierarchies.
> 
> Although parallel computing will be covered, this is not a class on the
most
> advanced techniques for using supercomputers, which these days have tens of
> thousands of processors and cost millions of dollars. Instead, the goal is
to
> teach tools that you can use immediately on your own laptop, desktop, or a
> small cluster. Cloud computing will also be discussed, and students who
don't
> have a multiprocessor computer of their own will still be able to do
projects
> using Amazon Web Services at very low cost.
> 
> Along the way there will also be discussion of software engineering tools
> such as debuggers, unit testing, Makefiles, and the use of version control
> systems. After all, your time is more valuable than computer time, and a
> program that runs fast is totally useless if it produces the wrong results.
> 
> High performance programming is also an important aspect of high
performance
> scientific computing, and so another main theme of the course is the use of
> basic tools and techniques to improve your efficiency as a computational
> scientist.
> 
> Course Syllabus
> 
> The use of a variety of languages and techniques will be integrated
> throughout the course as much as possible, rather than taught linearly. The
> topics below will be covered at an introductory level, with the goal of
> learning enough to feel comfortable starting to use them in your everyday
> work. Once you've reached that level, abundant resources are available on
the
> web to learn the more advanced features that are most relevant for you.
> 
> Working at the command line in Unix-like shells (e.g. Linux or a Mac OSX
> terminal).
> 
> Version control systems, particularly git, and the use of Github and
> Bitbucket repositories.
> 
> Work habits for documentation of your code and reproducibility of your
> results.
> 
> Interactive Python using IPython, and the IPython Notebook.
> 
> Python scripting and its uses in scientific computing.
> 
> Subtleties of computer arithmetic that can affect program correctness.
> 
> How numbers are stored: binary vs. ASCII representations, efficient I/O.
> 
> Fortran 90, a compiled language that is widely used in scientific
computing.
> 
> Makefiles for building software and checking dependencies.
> 
> The high cost of data communication.  Registers, cache, main memory, and
how
> this memory hierarchy affects code performance. 
> 
> OpenMP on top of Fortran for parallel programming of shared memory
computers,
> such as a multicore laptop.
> 
>  MPI on top of Fortran for distributed memory parallel programming, such as
> on a cluster.
> 
> Parallel computing in IPython.
> 
> Debuggers, unit tests, regression tests, verification and validation of
> computer codes.
> 
> Graphics and visualization of computational results using Python.
> 
> Recommended Background
> 
> Experience writing and debugging computer programs is required : 
> 
> Preferably experience with scientific, mathematical, or statistical
> computing, for example in Matlab or R. (Previous knowledge of Fortran,
> Python, or parallel computing languages is not assumed.)
> 
> Students should also be comfortable with undergraduate mathematics,
> particularly calculus and linear algebra, which is pervasive in scientific
> computing applications. Many of the examples used in lectures and
assignments
> will require this background. Past exposure to numerical analysis is a
plus.
> 
> All of the software used in this course is open source and freely
available.
> A Virtual Machine will be provided that can be used to create a Linux
desktop
> environment (with all of the required software pre-installed) that can be
run
> on any operating system using the free VirtualBox software. An Amazon Web
> Services AMI will also be provided to allow doing the course work in the
> cloud.
> 
> Suggested Readings
> 
> Course notes will be provided to compliment lectures. The notes and slides
> from lectures will also contain many references to other free resources on
> the web, along with some recommended books on the topics covered.
> 
> Course Format
> 
> The class will consist of lecture videos with integrated quiz questions.
> There will also be programming assignments that are not part of the
lectures
> and optional reading material.
> 
> About the Instructor
> 
> Randall J. LeVeque
> 
> University of Washington
> 
> Categories: 
> 
> Information, Tech, and Design
> 
> Statistics and Data Analysis
> 
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org sponsored by Penguin Computing
> To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf




More information about the Beowulf mailing list