% Welcome to openmp-examples.tex.
% This is the master LaTex file for the OpenMP Examples document.
%
% The files in this set include:
%
%    openmp-examples.tex              - this file, the master file
%    Makefile                         - makes the document
%    openmp.sty                       - the main style file
%    Title_Page.tex                   - the title page
%    openmplogo.png                   - the logo
%    Forward_Chapt.tex                - unnumbered introductory chapter
%    Introduction_Chapt.tex           - unnumbered introductory chapter
%    Examples_Chapt.tex               - unnumbered chapter
%    Examples_Sects.tex               - examples
%    sources/*.c, *.f                 - C/C++/Fortran example source files
%
% When editing this file:
%
%    1. To change formatting, appearance, or style, please edit openmp.sty.
%
%    2. Custom commands and macros are defined in openmp.sty.
%
%    3. Be kind to other editors -- keep a consistent style by copying-and-pasting to
%       create new content.
%
%    4. We use semantic markup, e.g. (see openmp.sty for a full list):
%         \code{}     % for bold monospace keywords, code, operators, etc.
%         \plc{}      % for italic placeholder names, grammar, etc.
%
%    5. Other recommendations:
%         Use the convenience macros defined in openmp.sty for the minor headers
%         such as Comments, Syntax, etc.
%
%         To keep items together on the same page, prefer the use of 
%         \begin{samepage}.... Avoid \parbox for text blocks as it interrupts line numbering.
%         When possible, avoid \filbreak, \pagebreak, \newpage, \clearpage unless that's
%         what you mean. Use \needspace{} cautiously for troublesome paragraphs.
%
%         Avoid absolute lengths and measures in this file; use relative units when possible.
%         Vertical space can be relative to \baselineskip or ex units. Horizontal space
%         can be relative to \linewidth or em units.
%
%         Prefer \emph{} to italicize terminology, e.g.:
%             This is a \emph{definition}, not a placeholder.
%             This is a \plc{var-name}.
%

% The following says letter size, but the style sheet may change the size
\documentclass[10pt,letterpaper,twoside,makeidx,hidelinks]{scrreprt}

% Text to appear in the footer on even-numbered pages:
\newcommand{\VER}{5.0.1}
\newcommand{\PVER}{\VER{}}
\newcommand{\VERDATE}{June 2020}
\newcommand{\footerText}{OpenMP Examples Version \PVER{} - \VERDATE}

% Unified style sheet for OpenMP documents:
\input{openmp.sty}


\begin{document}
    \pagenumbering{roman}
    \input{Title_Page}

    \setcounter{page}{0}
    \setcounter{tocdepth}{2}

    \begin{spacing}{1.3}
        \tableofcontents
    \end{spacing}

    % Uncomment the next line to enable line numbering on the main body text:
    \linenumbers\pagewiselinenumbers

    \input{Foreword_Chapt}

    \newpage\pagenumbering{arabic}

    \input{Introduction_Chapt}
    \input{Examples_Chapt}

    \setcounter{chapter}{0}  % start chapter numbering here

    \input{Chap_parallel_execution}
       \input{Examples_ploop}
       \input{Examples_parallel}
       \input{Examples_host_teams}
       \input{Examples_nthrs_nesting}
       \input{Examples_nthrs_dynamic}
       \input{Examples_fort_do}
       \input{Examples_nowait}
       \input{Examples_collapse}
     % linear Clause 475
       \input{Examples_linear_in_loop}
       \input{Examples_psections}
       \input{Examples_fpriv_sections}
       \input{Examples_single}
       \input{Examples_workshare}
       \input{Examples_master}
       \input{Examples_loop}
       \input{Examples_pra_iterator}
       \input{Examples_set_dynamic_nthrs}
       \input{Examples_get_nthrs}

    \input{Chap_affinity}
       \input{Examples_affinity}
       \input{Examples_task_affinity}
       \input{Examples_affinity_display}
       \input{Examples_affinity_query}

    \input{Chap_tasking}
       \input{Examples_tasking}
       \input{Examples_task_priority}
       \input{Examples_task_dep}
       \input{Examples_taskgroup}
       \input{Examples_taskyield}
       \input{Examples_taskloop}
       \input{Examples_parallel_master_taskloop}

    \input{Chap_devices}
       \input{Examples_target}
       \input{Examples_target_defaultmap}
       \input{Examples_target_pointer_mapping}
       \input{Examples_target_structure_mapping}
       \input{Examples_array_sections}
       \input{Examples_array_shaping}
       \input{Examples_target_mapper}
       \input{Examples_target_data}
       \input{Examples_target_unstructured_data}
       \input{Examples_target_update}
       \input{Examples_declare_target}
           % Link clause 474
       \input{Examples_teams}
       \input{Examples_async_target_depend}
       \input{Examples_async_target_with_tasks}
           %Title change of 57.1 and 57.2
           %New subsection
       \input{Examples_async_target_nowait}
       \input{Examples_async_target_nowait_depend}
     % \input{Examples_array_sections}   moved after struct_ptr_map
     % Structure Element in map 487      no 579
       \input{Examples_device}
            % MemoryRoutine and Device ptr  473

    \input{Chap_SIMD}
       \input{Examples_SIMD}
      % Forward Depend 370
      % simdlen  476
      % simd linear modifier 480
       \input{Examples_linear_modifier}


    \input{Chap_synchronization}
       \input{Examples_critical}
       \input{Examples_worksharing_critical}
       \input{Examples_barrier_regions}
       \input{Examples_atomic}
       \input{Examples_atomic_restrict}
       \input{Examples_flush_nolist}
       \input{Examples_acquire_release}
       \input{Examples_ordered}
       \input{Examples_depobj}
     % Doacross loop  405
       \input{Examples_doacross}
       \input{Examples_locks}
            \input{Examples_init_lock}
            \input{Examples_init_lock_with_hint} 
            \input{Examples_lock_owner}
            \input{Examples_simple_lock}
            \input{Examples_nestable_lock}
    %  % LOCK with Hints 478
    %       % Hint Clause  xxxxxx (included after init_lock)
    %       % Lock routines with hint
           

    \input{Chap_data_environment}
       \input{Examples_threadprivate}
       \input{Examples_default_none}
       \input{Examples_private}
       \input{Examples_fort_loopvar}
       \input{Examples_fort_sp_common}
       \input{Examples_fort_sa_private}
       \input{Examples_carrays_fpriv}
       \input{Examples_lastprivate}
       \input{Examples_reduction}
     %  User UDR  287
       \input{Examples_udr}
       \input{Examples_scan}
       \input{Examples_copyin}
       \input{Examples_copyprivate}
       \input{Examples_cpp_reference}
     %  Fortran 2003 features  482
            \input{Examples_associate}  %section--> subsection

    \input{Chap_memory_model}
       \input{Examples_mem_model}
       \input{Examples_allocators}
       \input{Examples_fort_race}

    \input{Chap_program_control}
       \input{Examples_cond_comp}
       \input{Examples_icv}
     % If multi-ifs  471
       \input{Examples_standalone}
       \input{Examples_cancellation}
       \input{Examples_requires}
       \input{Examples_variant}
       \input{Examples_metadirective}
     % New Section Nested Regions
       \input{Examples_nested_loop}
       \input{Examples_nesting_restrict}
       \input{Examples_target_offload}


    \setcounter{chapter}{0}  % restart chapter numbering with "letter A"
    \renewcommand{\thechapter}{\Alph{chapter}}%
    \appendix
    \input{History}

\end{document}

