|
Parallel programming Practical 2011/2012 |
|
|||
|
|
WelcomeThis page gives general information on the Practical part of the Parallel Programming course. For the lectures, see the lecture site. AnnouncementThe deadline for the practical is extended until Feb 15th, 23:59 CET. AnnouncementWe noticed that several students encountered problems registering for the Parallel Programming Practical course using the VUNet system. Therefore we will offer an alternative way to register for this course: If you still have questions about the registration process, please contact Timo van Kessel () by email. GoalsThe Parallel programming practical course teaches students several techniques widely used in parallel programs. The first assignment uses message-passing to for an SPMD application; students get familiar with C and MPI. The second assignment focuses on a Master-Worker application, and requires the students to use Java. Finally, the third assignment focuses on the use of an offload model and the use of graphical processing units (GPUs) as accelerators; thus, students are required to program GPUs using CUDA or OpenCL. Basic facts and rulesFor this practical, students work on their own, to complete three assignments, one with C and MPI, one with Java, and one with GPU-accelerated code, using OpenCL or CUDA. The practical work consists in implementing and benchmarking parallel applications using the DAS-3, as well as writing a brief report for each one of the assignments (in English). The practical officially starts on November 1st, when the first assignment will be published. The other two assignments will be published later. The deadline for this practical course is to There is no introductory lecture, and there are no lab sessions for this practical. Students can start working as soon as the Parallel Programming course has finished. Questions about the assignments can and should be asked via email, and addressed to the person listed as "contact" in each assignment:
For more information about the MPI, Java, and GPU assignments, as well as more details on the DAS-3 cluster, benchmarking and reporting your results, check the subpages of this site. Registration and accountsStudents have to register for this practical in order to get DAS-3 accounts and be able to use the cluster. Registration the Parallel Programming Practical 2011-2012 is now open. To get an account for DAS-3, enroll for the course on blackboard. Accounts shall be created and/or distributed only twice a week. For problems with the registration, please contact Timo van Kessel: Submitting and gradingTo pass this practical, a student has to pass all three assignments (i.e., each assignment has to have at least 5.5 points). Assignments are submitted via Blackboard. All submissions are sanity-checked for compliance (i.e., correctness of the compilation, running, output and not excessive execution time). For each submission, students receive a "pass/fail" result for this sanity check within a few days. Failing the sanity check means the assignment is NOT graded, and it is considered failed. After a failed sanity check, the assignment can be corrected and resubmitted. The total number of submissions for each assignment is 3. Note that passing the sanity check for an assignment does not guarantee a passing grade for that assignment; it only guarantees that the assignment will be graded. In case multiple submissions of the same assignment have passed the sanity check, only the last submission (according to the blackboard site) is graded. Rules for gradingEach assignment has a set of requirements. Meeting all these requirements leads to the grade 8. However, students that improve the design, implementation, or analysis of their solution beyond the assignment requirements can gain up to 2 bonus points per assignment. Each assignment has suggestions for improvements that can count for bonus points, but we strongly encourage other creative attempts. Important One can get bonus points for interesting and/or creative ways to improve the parallel application (its implementation, performance, or analysis). However, optimizing the (reference) sequential algorithm, does not count as a bonus. Furthermore, any added (bonus) features are only graded for solutions that still meet the basic requirements! The grade for each assignment is a combination of the grades for the design and implementation, the achieved performance, and the report (with a special focus on the results/performance analysis). Therefore, do not neglect any of these three components! The final grade for the practical is calculated as a weighted sum of all three assignments, rounded to the closest half-integer (6.3 is 6.5, 6.7 is 6.5, 6.8 is 7). The weights for the assignments will be announced when all assignments are made available.Special casesStudents who re-take this course because they have failed one of the two parts of the assignment in the previous years are allowed to keep their passing grade from the previous attempt. For example, if a student registered in 2010 got a 7 for the MPI assignment and a failed the Java and GPU assignment, he/she is allowed to keep the MPI grade, thus only needing to solve and submit the Java and GPU assignments. Still, students are also allowed to try to improve and resubmit the already passed assignment. For example, in the previous case, the student can opt to re-try the MPI assignment as well. Students who re-take this practical to improve their grade have to improve and resubmit all assignments (i.e., a student that has passed the course in a previous attempt, cannot choose to keep only one or two of the older grades). |
|