Introduction to Parallel Computing and Scientific
Students: Please send info about when you are NOT available to firstname.lastname@example.org by Thu Jan ?? 11:59pm
Hall room 8220 Time: Wed 2:30-4:30pm
First Lecture: Wed Jan 17, 2018
Projects due: graduating students - May 15, 2018 ; non-graduating students - May 20, 2018
|Instructor: Florin B. Manolache||Objectives||Slides, Homework|
|e-mail: email@example.com||General Considerations||Projects
|Office: Wean Hall, Room 6218
|Office time: 9am-3pm||Credit||Administrative
The course is intended to be self-consistent, no prior computer skills being required. However, familiarity with the C programming language and Unix command line should give the student more time to concentrate on the core issues of the course, as hardware structure, operating system and networking insights, numerical methods.
The main idea of the course is to give the student a hands-on
experience of writing a simple software package that eventually
can be implemented on a parallel computer architecture. All the
steps and components of the process (defining the problem,
numerical algorithms, program design, coding, different levels of
documentation) are treated at a basic level. Everything is done in
the context of a structured vision of the computing environment.
The typical programming environment makes the computer hardware and operating system transparent to the user. In contrast, each program intended for efficient parallel execution must consider the custom physical and logical communication topology of the processors in a parallel system. The course should give a general image over the entire range of issues that a developer should consider when designing a parallel algorithm, from principles to details. The knowledge provided by the course should be enough to help the audience decide what's the most appropriate technique to approach a problem on a given computer architecture. However, the development of an efficient algorithm will require a lot of additional study, practice, and experimental work.
The examples, exercises, and projects were determined by the
computers and software available for practice. The following were
preferred: the C language, the x86_64 hardware platform, and the
Linux operating system. However, the presentation will be kept at
a very general level such that the student is prepared for any
actual parallel computing environment.
Merits of the final project considered for grading are:
Unregistered students should express their interest and by e-mail to firstname.lastname@example.org or in person (Wean Hall, Room 6218) at any time before second day of school of the Spring Semester.
I'm always available for consultations and for discussions regarding the projects and the curriculum.