====== Parallel algorithms - seminars ====== ===== Description of seminars ===== The aim of seminars is to familiarize students with the design and implementation of parallel algorithms and to practice the theory from lectures. The tasks are proposed in a way that enables to test/debug/run them on conventional computers. For the purpose of computationally demanding experiments, we arranged the access to [[https://www.metacentrum.cz/|Metacentrum]]. In order to show new trends in parallel programming, the semestral work is focused on Xeon Phi coprocessor. Attendance at seminars (2, 3, 5, 6, 8, 9, 11) is not compulsory, however, strongly recommended. Our goal is to improve students' knowledge of parallel algorithms, not just to record presence. ===== Seminar schedule ===== ^ n. ^ Main topic ^ Materials ^ | 1 | Introduction to parallel programming, environment setting | {{:courses:b4m35pag:lab1_slides-introduction.pdf|pag_intro}}, {{:courses:b4m35pag:metacentrum.pdf|metacentrum}},{{:courses:b4m35pag:test_project.zip|test_project}} | | 2 | Introduction to Cpp11 threads | {{:courses:b4m35pag:lab2_slides-pthreads.pdf|cpp11threads}},{{:courses:b4m35pag:lab2_sources.zip|sources}}, {{:courses:b4m35pag:toolsrentalsolution.zip|tools_rental_solution}} | | 3 | Advanced constructs in Cpp11 | {{:courses:b4m35pag:lab3_slides-cpp11threads.pdf|cpp11advanced}},{{:courses:b4m35pag:sources_lab2.zip|sources}} | | 4 | Assignment of the semestral work + homework 1 | {{:courses:b4m35pag:lu_hw1_upd.pdf|lu-hw1}},{{:courses:b4m35pag:lu_skeleton.zip|hw1-skeleton}},{{:courses:b4m35pag:instances.zip|instances}},{{:courses:b4m35pag:semestral_work.pdf|semestral-work}},{{:courses:b4m35pag:instancegenerator.zip|generator}} | | 5 | OpenMP – basic constructs | {{:courses:b4m35pag:lab5_slides-openmp.pdf|intro-OpenMP}},{{:courses:b4m35pag:openmp_samples.zip|sources}} | | 6 | OpenMP – vectorization, parallel sort | {{:courses:b4m35pag:lab6_slides_advanced_openmp.pdf|advanced-OpenMP}},{{:courses:b4m35pag:openmp_sources.zip|sources}} | | 7 | Homework 2, deadline for homework 1 | {{:courses:b4m35pag:openmp_assignment.pdf|triag-hw2}},{{:courses:b4m35pag:triangulation_skeleton.zip|triag_skeleton}},{{:courses:b4m35pag:instances_triag.zip|instances}}| | 8 | Semestral work - consultation | | | 9 | OpenMPI - distributed algorithms | {{:courses:b4m35pag:lab8_slides_openmpi.pdf|OpenMPI}},{{:courses:b4m35pag:mpi_sources.zip|sources}} | | 10 | Homework 3, deadline for homework 2 | {{:courses:b4m35pag:heat_diffusion2.pdf|heat-hw3}},{{:courses:b4m35pag:main_skeleton.zip|hw3-skeleton}}{{:courses:b4m35pag:example_mpi.zip|example}},{{:courses:b4m35pag:extra_instances.zip|extra_examples}} | | 11 | Semestral work - consultation | | | 12 | Semestral work - consultation | | | - | Canceled - Christmas holidays | | | 13 | Optional, semestral work consultation | | | 14 | Presentations of semestral works, student assessment | | ===== Plagiarism ===== We strongly recommend avoiding plagiarism during your submission of your homework and semestral work. In case we reveal such misbehavior, we are obliged to proceed according to [[https://cw.fel.cvut.cz/wiki/help/common/plagiarism_cheating|legitimite rules]]. If you have trouble to work out your task, do not hesitate to contact your teacher.