Skip to main content

PAR Class 2, Thu 2020-01-16

2   Student talks - 1st set

  1. Go to

https://doodle.com/poll/68axuciyyp3avwz5. Pick a topic by entering your name and rcsid (because sometimes students have similar names and sometimes students use different names from what's on the classlist). The topics are:

  1. Describe the fastest 2 computers on the top500 list. https://www.top500.org/lists/2018/11/
  2. Describe computers 3 and 4 on top500.
  3. Describe computers 5 and 6 on top500.
  4. Describe the Blue Gene.
  5. Summarize python's parallel capabilities.
  6. Summarize Matlab's parallel capabilities.
  7. Summarize Mathematica's parallel capabilities.
  8. Summarize MPI.
  9. Describe an application where physics needs/uses parallel computing.
  10. Describe an application where astronomy needs/uses parallel computing.
  11. Describe an application where biology needs/uses parallel computing.
  12. Describe an application where astronomy needs/uses parallel computing.
  13. Give an application where machine learning needs/uses parallel computing.
  14. Give an application where computational fluid dynamics needs/uses parallel computing.
  15. Summarize OpenACC.
  16. Summarize pthreads.
  17. More topics TBA.
  18. Other related topic of your choice. Tell me and I'll add it to the list.
  1. Note that any topic can be picked at most once.
  2. Two students may work together to present one talk.
  3. Prepare and give 5-10 minute talk next Thurs 1/23 or Mon 1/27 or Thurs 1/30. We'll spread the talks out evenly. A team would jointly give one 5-10 minute talk.

3   parallel.ecse

Its accounts are completely separate from RCS; I will use the same userid for convenience. Changing your password on parallel does not affect your RCS password, and vv.

4   OpenMP

  1. We'll see some examples running on parallel, at /parallel-class/openmp/rpi

  2. We saw that running even a short OpenMP program could be unpredictable. The reason for that was a big lesson.

    There are no guarantees about the scheduling of the various threads. There are no guarantees about fairness of resource allocation between the threads. Perhaps thread 0 finishes before thread 1 starts. Perhaps thread 1 finishes before thread 2 starts. Perhaps thread 0 executes 3 machine instructions, then thread 1 executes 1 instruction, then thread 0 executes 100 more, etc. Each time the process runs, something different may happen. One thing may happen almost all the time, to trick you.