option(OPENMP_ENABLE_LIBOMPTARGET "Enable building libomptarget for offloading."
${ENABLE_LIBOMPTARGET})
if (OPENMP_ENABLE_LIBOMPTARGET)
- # Check that the library can acutally be built.
+ # Check that the library can actually be built.
if (APPLE OR WIN32)
message(FATAL_ERROR "libomptarget cannot be built on Windows and MacOS X!")
elseif (NOT OPENMP_HAVE_STD_CPP11_FLAG)
set(LIBOMP_LIB_TYPE normal CACHE STRING
"Performance,Profiling,Stubs library (normal/profile/stubs)")
libomp_check_variable(LIBOMP_LIB_TYPE normal profile stubs)
-# Set the OpenMP Year and Month assiociated with version
+# Set the OpenMP Year and Month associated with version
set(LIBOMP_OMP_YEAR_MONTH 201611)
set(LIBOMP_MIC_ARCH knc CACHE STRING
"Intel(R) Many Integrated Core Architecture (Intel(R) MIC Architecture) (knf/knc). Ignored if not Intel(R) MIC Architecture build.")
AffCapableUseFlat "%1$s: Affinity capable, using default \"flat\" topology"
AffNotCapableUseLocCpuid "%1$s: Affinity not capable, using local cpuid info"
AffNotCapableUseCpuinfo "%1$s: Affinity not capable, using cpuinfo file"
-AffFlatTopology "%1$s: Affinity not capable, assumming \"flat\" topology"
+AffFlatTopology "%1$s: Affinity not capable, assuming \"flat\" topology"
InitOSProcSetRespect "%1$s: Initial OS proc set respected: %2$s"
InitOSProcSetNotRespect "%1$s: Initial OS proc set not respected: %2$s"
AvailableOSProc "%1$s: %2$d available OS procs"
unsigned started : 1; /* 1==started, 0==not started */
unsigned executing : 1; /* 1==executing, 0==not executing */
unsigned complete : 1; /* 1==complete, 0==not complete */
- unsigned freed : 1; /* 1==freed, 0==allocateed */
+ unsigned freed : 1; /* 1==freed, 0==allocated */
unsigned native : 1; /* 1==gcc-compiled task, 0==intel */
unsigned reserved31 : 7; /* reserved for library use */
return -1;
}
- // Set the file pointer back to the begginning, so that we can scan the file
+ // Set the file pointer back to the beginning, so that we can scan the file
// again, this time performing a full parse of the data. Allocate a vector of
// ProcCpuInfo object, where we will place the data. Adding an extra element
// at the end allows us to remove a lot of extra checks for termination
threadInfo[i][threadIdIndex] = threadIdCt++;
}
- // Aparrently the thread id field was specified for some entries and
+ // Apparently the thread id field was specified for some entries and
// not others. Start the thread id counter off at the next higher
// thread id.
else if (threadIdCt <= threadInfo[i][threadIdIndex]) {
multiple of this size. This MUST be a power of two. */
/* On IA-32 architecture with Linux* OS, malloc() does not
- ensure 16 byte alignmnent */
+ ensure 16 byte alignment */
#if KMP_ARCH_X86 || !KMP_HAVE_QUAD
---------------------------
Functions for complex types whose component floating point variables are of size
4,8,10 or 16 bytes. The names here are based on the size of the component float,
-*not* the size of the complex type. So `__kmpc_atomc_cmplx8_add` is an operation
-on a `complex<double>` or `complex(kind=8)`, *not* `complex<float>`.
+*not* the size of the complex type. So `__kmpc_atomic_cmplx8_add` is an
+operation on a `complex<double>` or `complex(kind=8)`, *not* `complex<float>`.
@code
__kmpc_atomic_cmplx4_add
my_unit->reset_shared_barrier();
my_unit->hier_pr.flags.contains_last = FALSE;
// Last layer, initialize the private buffers with entire loop information
- // Now the next next_algorithim() call will get the first chunk of
+ // Now the next next_algorithm() call will get the first chunk of
// iterations properly
if (i == n - 1) {
__kmp_dispatch_init_algorithm<T>(
}
// This function always returns true when called on host device.
-// Compilier/libomptarget should handle when it is called inside target region.
+// Compiler/libomptarget should handle when it is called inside target region.
int FTN_STDCALL KMP_EXPAND_NAME(FTN_IS_INITIAL_DEVICE)(void) KMP_WEAK_ATTRIBUTE;
int FTN_STDCALL KMP_EXPAND_NAME(FTN_IS_INITIAL_DEVICE)(void) {
return 1; // This is the host
//
// Conversely, KMP_DISPATCH_NEXT returns and inclusive upper bound in *p_ub,
// but the Gnu codegen expects an excluside upper bound, so the adjustment
-// "*p_ub += stride" compenstates for the discrepancy.
+// "*p_ub += stride" compensates for the discrepancy.
//
// Correction: the gnu codegen always adjusts the upper bound by +-1, not the
// stride value. We adjust the dispatch parameters accordingly (by +-1), but
//===----------------------------------------------------------------------===//
// Inline function definitions. This file should be included into kmp_itt.h file
-// for production build (to let compliler inline functions) or into kmp_itt.c
+// for production build (to let compiler inline functions) or into kmp_itt.c
// file for debug build (to reduce the number of files to recompile and save
// build time).
// Now form the barrier id. Encode barrier type (bt) in barrier id too, so
// barriers of different types do not have the same ids.
KMP_BUILD_ASSERT(sizeof(kmp_team_t) >= bs_last_barrier);
- // This conditon is a must (we would have zero divide otherwise).
+ // This condition is a must (we would have zero divide otherwise).
KMP_BUILD_ASSERT(sizeof(kmp_team_t) >= 2 * bs_last_barrier);
// More strong condition: make sure we have room at least for for two
// differtent ids (for each barrier type).
/* this sets the requested number of threads for the next parallel region
encountered by this team. since this should be enclosed in the forkjoin
- critical section it should avoid race conditions with assymmetrical nested
+ critical section it should avoid race conditions with asymmetrical nested
parallelism */
void __kmp_push_num_threads(ident_t *id, int gtid, int num_threads) {
char *base = NULL; // Pointer to the beginning of basename.
fname->path = __kmp_str_format("%s", path);
// Original code used strdup() function to copy a string, but on Windows* OS
- // Intel(R) 64 it causes assertioon id debug heap, so I had to replace
+ // Intel(R) 64 it causes assertion id debug heap, so I had to replace
// strdup with __kmp_str_format().
if (KMP_OS_WINDOWS) {
__kmp_str_replace(fname->path, '\\', '/');
}
} else {
KMP_DEBUG_ASSERT(resumed_task !=
- NULL); // verify that resumed task is passed as arguemnt
+ NULL); // verify that resumed task is passed as argument
}
// Free this task and then ancestor tasks if they have no children.
* master thread may exit the barrier code and free the team data structure,
* and return the threads to the thread pool).
*
- * This does not work with the the tasking code, as the thread is still
+ * This does not work with the tasking code, as the thread is still
* expected to participate in the execution of any tasks that may have been
* spawned my a member of the team, and the thread still needs access to all
* to each thread in the team, so that it can steal work from it.
@param gtid Global Thread ID of encountering thread
@param ptask Task which execution is completed
-Execute the completation of a proxy task from a thread of that is part of the
+Execute the completion of a proxy task from a thread of that is part of the
team. Run first and bottom halves directly.
*/
void __kmpc_proxy_task_completed(kmp_int32 gtid, kmp_task_t *ptask) {
@ingroup TASKING
@param ptask Task which execution is completed
-Execute the completation of a proxy task from a thread that could not belong to
+Execute the completion of a proxy task from a thread that could not belong to
the team.
*/
void __kmpc_proxy_task_completed_ooo(kmp_task_t *ptask) {
#endif
void *);
-// Execute part of the the taskloop submitted as a task.
+// Execute part of the taskloop submitted as a task.
int __kmp_taskloop_task(int gtid, void *ptask) {
__taskloop_params_t *p =
(__taskloop_params_t *)((kmp_task_t *)ptask)->shareds;
return 0;
}
-// Schedule part of the the taskloop as a task,
-// execute the rest of the the taskloop.
+// Schedule part of the taskloop as a task,
+// execute the rest of the taskloop.
//
// loc Source location information
// gtid Global thread ID
int __kmp_get_load_balance(int max) {
static int permanent_error = 0;
static int glb_running_threads = 0; // Saved count of the running threads for
- // the thread balance algortihm
+ // the thread balance algorithm
static double glb_call_time = 0; /* Thread balance algorithm call time */
int running_threads = 0; // Number of running threads in the system.
if (proc_entry->d_type == DT_DIR && isdigit(task_entry->d_name[0])) {
++total_threads;
- // Consruct complete stat file path. Easiest way would be:
+ // Construct complete stat file path. Easiest way would be:
// __kmp_str_buf_print( & stat_path, "%s/%s/stat", task_path.str,
// task_entry->d_name );
// but seriae of __kmp_str_buf_cat works a bit faster.
int __kmp_get_load_balance(int max) {
static ULONG glb_buff_size = 100 * 1024;
- // Saved count of the running threads for the thread balance algortihm
+ // Saved count of the running threads for the thread balance algorithm
static int glb_running_threads = 0;
static double glb_call_time = 0; /* Thread balance algorithm call time */
print_possible_return_addresses(get_ompt_label_address(id))
#if KMP_ARCH_X86 || KMP_ARCH_X86_64
-// On X86 the NOP instruction is 1 byte long. In addition, the comiler inserts
+// On X86 the NOP instruction is 1 byte long. In addition, the compiler inserts
// a MOV instruction for non-void runtime functions which is 3 bytes long.
#define print_possible_return_addresses(addr) \
printf("%" PRIu64 ": current_address=%p or %p for non-void functions\n", \
/*
* Test for taskloop
- * Method: caculate how many times the iteration space is dispatched
+ * Method: calculate how many times the iteration space is dispatched
* and judge if each dispatch has the requested grainsize
* It is possible for two adjacent chunks are executed by the same thread
*/
/*
* Test for taskloop
- * Method: caculate how many times the iteration space is dispatched
+ * Method: calculate how many times the iteration space is dispatched
* and judge if each dispatch has the requested grainsize
* It is possible for two adjacent chunks are executed by the same thread
*/
/*
* Test that large bounds are handled properly and calculations of
- * loop iterations don't accidently overflow
+ * loop iterations don't accidentally overflow
*/
#include <stdio.h>
#include <omp.h>
// RUN: %libomp-compile-and-run
/*
* Test for dynamic scheduling with chunk size
- * Method: caculate how many times the iteration space is dispatched
+ * Method: calculate how many times the iteration space is dispatched
* and judge if each dispatch has the requested chunk size
* unless it is the last one.
* It is possible for two adjacent chunks are assigned to the same thread
}
/* Now we check if several loop regions in one parallel region have the
- * same logical assignement of chunks to threads. We use the nowait
+ * same logical assignment of chunks to threads. We use the nowait
* clause to increase the probability to get an error. */
/* First we allocate some more memmory */
=item B<canon_arch( $arch )>
Input string is an architecture name to canonize. The function recognizes many variants, for example:
-C<32e>, C<Intel64>, C<Intel(R) 64>, etc. Returned string is a canononized architecture name,
+C<32e>, C<Intel64>, C<Intel(R) 64>, etc. Returned string is a canonized architecture name,
one of: C<32>, C<32e>, C<64>, C<arm>, C<ppc64le>, C<ppc64>, C<mic>, C<mips>, C<mips64>, C<riscv64> or C<undef> is input string is not recognized.
=item B<legal_arch( $arch )>
$output =~ m{^ProductVersion:\s*(.*)\s*$}m
or runtime_error( "There is no ProductVersion in sw_vers output:", $output, "(eof)" );
my $release = $1;
- # Sometimes release reported as "10.4.11" (3 componentes), sometimes as "10.6".
+ # Sometimes release reported as "10.4.11" (3 components), sometimes as "10.6".
# Handle both variants.
$release =~ m{^(\d+.\d+)(?:\.\d+)?(?=\s|$)}
or runtime_error( "Cannot parse OS X* version: $release" );
"v|verbose" => sub { ++ $verbose; $ENV{ "tools.pm_verbose" } = $verbose; },
"quiet" => sub { -- $verbose; $ENV{ "tools.pm_verbose" } = $verbose; },
"with-timestamps" => sub { $timestamps = 1; $ENV{ "tools.pm_timestamps" } = $timestamps; },
- @_, # Caller argumetsa are at the end so caller options overrides standard.
+ @_, # Caller arguments are at the end so caller options overrides standard.
) or cmdline_error();
}; # sub get_options
my $icc = which( "icc", -dirs => [ ".", "/usr/local/bin", "/usr/bin", "/bin" ] );
-Look for the the C<omp_lib.f> file:
+Look for the C<omp_lib.f> file:
my @omp_lib = which( "omp_lib.f", -all => 1, -exec => 0, -dirs => [ @include ] );