== OpenMP Constructs == * `parallel` * `private(`list`)` * `firstprivate(list)` * `copyin(list)` * `shared(`list`)` * `default(none`|`shared)` * `num_threads(`n`)` * `reduction(op:list)` * `sections` * `private(`list`)` * `firstprivate(list)` * `lastprivate(list)` * `reduction(op:list)` * `nowait` * `section` * `single` * `private(`list`)` * `firstprivate(list)` * `copyprivate(list)` * `nowait` * `for` * `private(`list`)` * `firstprivate(list)` * `lastprivate(list)` * `reduction` * `schedule` * `collapse` * `nowait` * `simd` * `safelen(n)` * `linear(n)` * `aligned(n)` * `private` * `lastprivate` * `reduction` * `collaplse` * `for simd` * `safelen(n)` * `linear(n)` * `aligned(n)` * `private` * `lastprivate` * `reduction` * `collaplse` * `firstpriavte` * `nowait` * `schedule` * `barrier` * `critical` * `[name]` * `atomic` * `read | write | update | capture` * `seq_cst` * `master` == OpenMP Types == * `omp_lock_t` == OpenMP Functions == * `omp_get_num_threads()` * `omp_get_thread_num()` * `omp_get_wtime()` == OpenMP Functions == * `amp_init_lock` * `amp_destroy_lock` * `amp_set_lock` * `amp_unset_lock` * `amp_test_lock`