Changes between Version 18 and Version 19 of Introduction


Ignore:
Timestamp:
12/31/18 14:43:09 (7 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Introduction

    v18 v19  
    602602=== Verifying C/OpenMP Programs ===
    603603
    604 CIVL uses an input variable `omp_thread_max` for verifying OpenMP programs.   It must be specified on the command line.  Upon entering an OpenMP parallel region, CIVL will nondeterministically choose an integer between 1 and `omp_thread_max`, and create a thread team consisting of that number of threads.   If `omp_thread_max` is not specified, then the program must explicitly specify the number of threads for each parallel region.
    605 
    606 By default, CIVL attempts to simplify and OpenMP program by replacing parallel code with sequential code when it can determine that the two are equivalent.  In the best case, this can remove all of the OpenMP, resulting in a sequential program.   The option `-ompNoSimplify` can be used to disable such simplification.   Another option, `-ompLoopDecomp=X` can be used to specify the loop decomposition strategy, where `X` is one `ALL` (the default), `ROUND_ROBIN`, or `RANDOM`.
     604CIVL uses an input variable `omp_thread_max` for verifying OpenMP programs.   It must be specified on the command line, e.g.,
     605
     606{{{
     607civl verify -input_omp_thread_max=3 sum_omp.c
     608}}}
     609
     610Upon entering an OpenMP parallel region, CIVL will nondeterministically choose an integer between 1 and `omp_thread_max`, and create a thread team consisting of that number of threads.   If `omp_thread_max` is not specified, then the program must explicitly specify the number of threads for each parallel region.
     611
     612By default, CIVL attempts to simplify an OpenMP program by replacing parallel code with sequential code when it can determine that the two are equivalent.  In the best case, this can remove all of the OpenMP, resulting in a sequential program.   The option `-ompNoSimplify` can be used to disable such simplification.   Another option, `-ompLoopDecomp=X` can be used to specify the loop decomposition strategy, where `X` is one `ALL` (the default), `ROUND_ROBIN`, or `RANDOM`.
     613
     614A serious limitation in the current OpenMP transformation is that access to shared variables cannot take place through pointers.
    607615
    608616=== Verifying CUDA-C Programs ===