.. title: PAR Class 2, Thu 2021-01-28
.. slug: class02
.. date: 2021-01-28
.. tags: class
.. category: 
.. link: 
.. description: 
.. type: text


.. sectnum::
.. contents:: Table of contents
..

Webex, classes, etc
-------------------

#. I'll continue to use Webex Meet for awhile because it lets me show the chat window simultaneously.

#. In Webex (formerly called Webex Teams), I have a space for people to talk.

#. Mediasite has recordings of classes.

#. My blog has transcripts and chats.  See the **Files** tab.
      

LLNL parallel tutorial
----------------------

We'll quickly finish it, starting at Parallel Programming Models.  https://computing.llnl.gov/tutorials/parallel_comp/


Material
--------

#. Think about these questions.

   a. Why have machine cycle speeds stopped increasing?
   #. What architectures do the top 3 machines on the Top 500 list use?
   #. Which one of the following 4 choices are most GPUs: SISD, SIMD, MISD, MIMD.
   #. Which one of the following 4 choices are most current multicore CPUs: SISD, SIMD, MISD, MIMD.
   #. Per Amdahl's law, if a program is 10% sequential and 90% parallelizable, what is the max speed up that can be obtained with an infinite number of parallel processors? 


Recently obsoleted parallel tech
---------------------------------------

#. Intel Xeon Phi
#. IBM BlueGene



My research
-----------

I do parallel geometry algorithms on large problems for CAD and GIS.   See my home page.  If this is interesting, talk to me.   Maybe you can do something that leads to a jointly-authored paper.

      
.. comment      
   #. Look at the file on parallel called /home/parallel/whole2015.txt.gz .   It is a CSV file listing stats for all yellowcab taxi rides in NYC in 2015.    Use whatever legal tools you prefer to exclude obvious errors and then find the most common hour of the day for routes that are longer than the average.  Describe your method.
   

parallel.ecse
-------------

#. I've set up account for you.

#. Your user name is your rcsid.
   
#. I'll mention your initial password.  Change it.
   
#. Play with them.   I recomend connecting with ssh.

#. From outside RPI, you need to use the vpn.

#. 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.


OpenMP
------

#. https://www.openmp.org/   Browse it.

#. Read https://computing.llnl.gov/tutorials/openMP/   

#. We'll see some examples running on parallel, at /parclass2021/files/openmp/rpi

#. 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.

