.. title: PAR Class 6, Mon 2022-01-31
.. slug: class06
.. date: 2022-01-30
.. tags: class
.. category: 
.. link: 
.. description: 
.. type: text
.. has_math: true

.. raw:: html

   <style> .red {color:red} </style>
   <style> .blue {color:blue} </style>

.. role:: red
.. role:: blue

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


Broadcasting the class?
-----------------------

Would you like to point my phone at me lecturing and attempt  broadcast and record it on webex?


Parallel.ecse, ctd
------------------

We'll continue the lab to help you get started.

OpenMP, ctd
-----------

#. To compile **foo.cc** into **foo**, you can say **make foo** .

#. Envars, e.g.

   OMP_NUM_THREADS=2

   See https://hpc-tutorials.llnl.gov/openmp/env_vars/

#. My file **common** has useful stuff.

#. **ulimit -s 100000000** can be useful.

   In paged virtual memory, stacks are more flexible than apparent.

   Dunno if OMP_STACKSIZE does anything.

#. OpenMP on GPU:

   https://www.nersc.gov/users/training/events/openmp-device-offload-sept-2021/

#. I've just given you an intro.
   
   
OpenACC
-------

#. Newer than OpenMP.

#. More abstract; compiler tries to determine what to parallelize.

#. Your algorithm needs to be parallelizable.  That's the hardest part.

#. https://www.openacc.org/

#. I'll go quickly through the tutorials from https://www.openacc.org/events/openacc-online-course-2018 .

   You can read more on your own.

   
My teaching strategy
--------------------

Leave you wishing that I'd taught you more.
   
   
