forked from OSchip/llvm-project
[OpenMP] NFC: Fix trivial typos in comments
Submitted by: kiszk Differential Revision: https://reviews.llvm.org/D72171
This commit is contained in:
parent
0f1e7993e9
commit
ed5fe64581
|
@ -69,7 +69,7 @@ endif()
|
||||||
option(OPENMP_ENABLE_LIBOMPTARGET "Enable building libomptarget for offloading."
|
option(OPENMP_ENABLE_LIBOMPTARGET "Enable building libomptarget for offloading."
|
||||||
${ENABLE_LIBOMPTARGET})
|
${ENABLE_LIBOMPTARGET})
|
||||||
if (OPENMP_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)
|
if (APPLE OR WIN32)
|
||||||
message(FATAL_ERROR "libomptarget cannot be built on Windows and MacOS X!")
|
message(FATAL_ERROR "libomptarget cannot be built on Windows and MacOS X!")
|
||||||
elseif (NOT OPENMP_HAVE_STD_CPP11_FLAG)
|
elseif (NOT OPENMP_HAVE_STD_CPP11_FLAG)
|
||||||
|
|
|
@ -71,7 +71,7 @@ libomp_check_variable(LIBOMP_ARCH 32e x86_64 32 i386 arm ppc64 ppc64le aarch64 m
|
||||||
set(LIBOMP_LIB_TYPE normal CACHE STRING
|
set(LIBOMP_LIB_TYPE normal CACHE STRING
|
||||||
"Performance,Profiling,Stubs library (normal/profile/stubs)")
|
"Performance,Profiling,Stubs library (normal/profile/stubs)")
|
||||||
libomp_check_variable(LIBOMP_LIB_TYPE 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_OMP_YEAR_MONTH 201611)
|
||||||
set(LIBOMP_MIC_ARCH knc CACHE STRING
|
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.")
|
"Intel(R) Many Integrated Core Architecture (Intel(R) MIC Architecture) (knf/knc). Ignored if not Intel(R) MIC Architecture build.")
|
||||||
|
|
|
@ -293,7 +293,7 @@ AffUseGlobCpuid "%1$s: Affinity capable, using global cpuid info"
|
||||||
AffCapableUseFlat "%1$s: Affinity capable, using default \"flat\" topology"
|
AffCapableUseFlat "%1$s: Affinity capable, using default \"flat\" topology"
|
||||||
AffNotCapableUseLocCpuid "%1$s: Affinity not capable, using local cpuid info"
|
AffNotCapableUseLocCpuid "%1$s: Affinity not capable, using local cpuid info"
|
||||||
AffNotCapableUseCpuinfo "%1$s: Affinity not capable, using cpuinfo file"
|
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"
|
InitOSProcSetRespect "%1$s: Initial OS proc set respected: %2$s"
|
||||||
InitOSProcSetNotRespect "%1$s: Initial OS proc set not respected: %2$s"
|
InitOSProcSetNotRespect "%1$s: Initial OS proc set not respected: %2$s"
|
||||||
AvailableOSProc "%1$s: %2$d available OS procs"
|
AvailableOSProc "%1$s: %2$d available OS procs"
|
||||||
|
|
|
@ -2253,7 +2253,7 @@ typedef struct kmp_tasking_flags { /* Total struct must be exactly 32 bits */
|
||||||
unsigned started : 1; /* 1==started, 0==not started */
|
unsigned started : 1; /* 1==started, 0==not started */
|
||||||
unsigned executing : 1; /* 1==executing, 0==not executing */
|
unsigned executing : 1; /* 1==executing, 0==not executing */
|
||||||
unsigned complete : 1; /* 1==complete, 0==not complete */
|
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 native : 1; /* 1==gcc-compiled task, 0==intel */
|
||||||
unsigned reserved31 : 7; /* reserved for library use */
|
unsigned reserved31 : 7; /* reserved for library use */
|
||||||
|
|
||||||
|
|
|
@ -2076,7 +2076,7 @@ static int __kmp_affinity_create_cpuinfo_map(AddrUnsPair **address2os,
|
||||||
return -1;
|
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
|
// 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
|
// 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
|
// at the end allows us to remove a lot of extra checks for termination
|
||||||
|
@ -2461,7 +2461,7 @@ restart_radix_check:
|
||||||
threadInfo[i][threadIdIndex] = threadIdCt++;
|
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
|
// not others. Start the thread id counter off at the next higher
|
||||||
// thread id.
|
// thread id.
|
||||||
else if (threadIdCt <= threadInfo[i][threadIdIndex]) {
|
else if (threadIdCt <= threadInfo[i][threadIdIndex]) {
|
||||||
|
|
|
@ -57,7 +57,7 @@ static void bectl(kmp_info_t *th, bget_compact_t compact,
|
||||||
multiple of this size. This MUST be a power of two. */
|
multiple of this size. This MUST be a power of two. */
|
||||||
|
|
||||||
/* On IA-32 architecture with Linux* OS, malloc() does not
|
/* 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
|
#if KMP_ARCH_X86 || !KMP_HAVE_QUAD
|
||||||
|
|
||||||
|
|
|
@ -483,8 +483,8 @@ Functions for Complex types
|
||||||
---------------------------
|
---------------------------
|
||||||
Functions for complex types whose component floating point variables are of size
|
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,
|
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
|
*not* the size of the complex type. So `__kmpc_atomic_cmplx8_add` is an
|
||||||
on a `complex<double>` or `complex(kind=8)`, *not* `complex<float>`.
|
operation on a `complex<double>` or `complex(kind=8)`, *not* `complex<float>`.
|
||||||
|
|
||||||
@code
|
@code
|
||||||
__kmpc_atomic_cmplx4_add
|
__kmpc_atomic_cmplx4_add
|
||||||
|
|
|
@ -1071,7 +1071,7 @@ void __kmp_dispatch_init_hierarchy(ident_t *loc, int n,
|
||||||
my_unit->reset_shared_barrier();
|
my_unit->reset_shared_barrier();
|
||||||
my_unit->hier_pr.flags.contains_last = FALSE;
|
my_unit->hier_pr.flags.contains_last = FALSE;
|
||||||
// Last layer, initialize the private buffers with entire loop information
|
// 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
|
// iterations properly
|
||||||
if (i == n - 1) {
|
if (i == n - 1) {
|
||||||
__kmp_dispatch_init_algorithm<T>(
|
__kmp_dispatch_init_algorithm<T>(
|
||||||
|
|
|
@ -956,7 +956,7 @@ int FTN_STDCALL KMP_EXPAND_NAME(FTN_GET_NUM_DEVICES)(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function always returns true when called on host device.
|
// 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) KMP_WEAK_ATTRIBUTE;
|
||||||
int FTN_STDCALL KMP_EXPAND_NAME(FTN_IS_INITIAL_DEVICE)(void) {
|
int FTN_STDCALL KMP_EXPAND_NAME(FTN_IS_INITIAL_DEVICE)(void) {
|
||||||
return 1; // This is the host
|
return 1; // This is the host
|
||||||
|
|
|
@ -496,7 +496,7 @@ void KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_END)(void) {
|
||||||
//
|
//
|
||||||
// Conversely, KMP_DISPATCH_NEXT returns and inclusive upper bound in *p_ub,
|
// Conversely, KMP_DISPATCH_NEXT returns and inclusive upper bound in *p_ub,
|
||||||
// but the Gnu codegen expects an excluside upper bound, so the adjustment
|
// 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
|
// Correction: the gnu codegen always adjusts the upper bound by +-1, not the
|
||||||
// stride value. We adjust the dispatch parameters accordingly (by +-1), but
|
// stride value. We adjust the dispatch parameters accordingly (by +-1), but
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// Inline function definitions. This file should be included into kmp_itt.h file
|
// 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
|
// file for debug build (to reduce the number of files to recompile and save
|
||||||
// build time).
|
// build time).
|
||||||
|
|
||||||
|
@ -502,7 +502,7 @@ void *__kmp_itt_barrier_object(int gtid, int bt, int set_name,
|
||||||
// Now form the barrier id. Encode barrier type (bt) in barrier id too, so
|
// Now form the barrier id. Encode barrier type (bt) in barrier id too, so
|
||||||
// barriers of different types do not have the same ids.
|
// barriers of different types do not have the same ids.
|
||||||
KMP_BUILD_ASSERT(sizeof(kmp_team_t) >= bs_last_barrier);
|
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);
|
KMP_BUILD_ASSERT(sizeof(kmp_team_t) >= 2 * bs_last_barrier);
|
||||||
// More strong condition: make sure we have room at least for for two
|
// More strong condition: make sure we have room at least for for two
|
||||||
// differtent ids (for each barrier type).
|
// differtent ids (for each barrier type).
|
||||||
|
|
|
@ -7152,7 +7152,7 @@ int __kmp_invoke_teams_master(int gtid) {
|
||||||
|
|
||||||
/* this sets the requested number of threads for the next parallel region
|
/* this sets the requested number of threads for the next parallel region
|
||||||
encountered by this team. since this should be enclosed in the forkjoin
|
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 */
|
parallelism */
|
||||||
|
|
||||||
void __kmp_push_num_threads(ident_t *id, int gtid, int num_threads) {
|
void __kmp_push_num_threads(ident_t *id, int gtid, int num_threads) {
|
||||||
|
|
|
@ -251,7 +251,7 @@ void __kmp_str_fname_init(kmp_str_fname_t *fname, char const *path) {
|
||||||
char *base = NULL; // Pointer to the beginning of basename.
|
char *base = NULL; // Pointer to the beginning of basename.
|
||||||
fname->path = __kmp_str_format("%s", path);
|
fname->path = __kmp_str_format("%s", path);
|
||||||
// Original code used strdup() function to copy a string, but on Windows* OS
|
// 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().
|
// strdup with __kmp_str_format().
|
||||||
if (KMP_OS_WINDOWS) {
|
if (KMP_OS_WINDOWS) {
|
||||||
__kmp_str_replace(fname->path, '\\', '/');
|
__kmp_str_replace(fname->path, '\\', '/');
|
||||||
|
|
|
@ -933,7 +933,7 @@ static void __kmp_task_finish(kmp_int32 gtid, kmp_task_t *task,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
KMP_DEBUG_ASSERT(resumed_task !=
|
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.
|
// Free this task and then ancestor tasks if they have no children.
|
||||||
|
@ -3090,7 +3090,7 @@ static void __kmp_enable_tasking(kmp_task_team_t *task_team,
|
||||||
* master thread may exit the barrier code and free the team data structure,
|
* master thread may exit the barrier code and free the team data structure,
|
||||||
* and return the threads to the thread pool).
|
* 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
|
* 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
|
* 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.
|
* to each thread in the team, so that it can steal work from it.
|
||||||
|
@ -3757,7 +3757,7 @@ static void __kmp_bottom_half_finish_proxy(kmp_int32 gtid, kmp_task_t *ptask) {
|
||||||
@param gtid Global Thread ID of encountering thread
|
@param gtid Global Thread ID of encountering thread
|
||||||
@param ptask Task which execution is completed
|
@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.
|
team. Run first and bottom halves directly.
|
||||||
*/
|
*/
|
||||||
void __kmpc_proxy_task_completed(kmp_int32 gtid, kmp_task_t *ptask) {
|
void __kmpc_proxy_task_completed(kmp_int32 gtid, kmp_task_t *ptask) {
|
||||||
|
@ -3782,7 +3782,7 @@ void __kmpc_proxy_task_completed(kmp_int32 gtid, kmp_task_t *ptask) {
|
||||||
@ingroup TASKING
|
@ingroup TASKING
|
||||||
@param ptask Task which execution is completed
|
@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.
|
the team.
|
||||||
*/
|
*/
|
||||||
void __kmpc_proxy_task_completed_ooo(kmp_task_t *ptask) {
|
void __kmpc_proxy_task_completed_ooo(kmp_task_t *ptask) {
|
||||||
|
@ -4193,7 +4193,7 @@ void __kmp_taskloop_recur(ident_t *, int, kmp_task_t *, kmp_uint64 *,
|
||||||
#endif
|
#endif
|
||||||
void *);
|
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) {
|
int __kmp_taskloop_task(int gtid, void *ptask) {
|
||||||
__taskloop_params_t *p =
|
__taskloop_params_t *p =
|
||||||
(__taskloop_params_t *)((kmp_task_t *)ptask)->shareds;
|
(__taskloop_params_t *)((kmp_task_t *)ptask)->shareds;
|
||||||
|
@ -4240,8 +4240,8 @@ int __kmp_taskloop_task(int gtid, void *ptask) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Schedule part of the the taskloop as a task,
|
// Schedule part of the taskloop as a task,
|
||||||
// execute the rest of the the taskloop.
|
// execute the rest of the taskloop.
|
||||||
//
|
//
|
||||||
// loc Source location information
|
// loc Source location information
|
||||||
// gtid Global thread ID
|
// gtid Global thread ID
|
||||||
|
|
|
@ -2214,7 +2214,7 @@ int __kmp_get_load_balance(int max) {
|
||||||
int __kmp_get_load_balance(int max) {
|
int __kmp_get_load_balance(int max) {
|
||||||
static int permanent_error = 0;
|
static int permanent_error = 0;
|
||||||
static int glb_running_threads = 0; // Saved count of the running threads for
|
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 */
|
static double glb_call_time = 0; /* Thread balance algorithm call time */
|
||||||
|
|
||||||
int running_threads = 0; // Number of running threads in the system.
|
int running_threads = 0; // Number of running threads in the system.
|
||||||
|
@ -2322,7 +2322,7 @@ int __kmp_get_load_balance(int max) {
|
||||||
if (proc_entry->d_type == DT_DIR && isdigit(task_entry->d_name[0])) {
|
if (proc_entry->d_type == DT_DIR && isdigit(task_entry->d_name[0])) {
|
||||||
++total_threads;
|
++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,
|
// __kmp_str_buf_print( & stat_path, "%s/%s/stat", task_path.str,
|
||||||
// task_entry->d_name );
|
// task_entry->d_name );
|
||||||
// but seriae of __kmp_str_buf_cat works a bit faster.
|
// but seriae of __kmp_str_buf_cat works a bit faster.
|
||||||
|
|
|
@ -1504,7 +1504,7 @@ void __kmp_free_handle(kmp_thread_t tHandle) {
|
||||||
int __kmp_get_load_balance(int max) {
|
int __kmp_get_load_balance(int max) {
|
||||||
static ULONG glb_buff_size = 100 * 1024;
|
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 int glb_running_threads = 0;
|
||||||
static double glb_call_time = 0; /* Thread balance algorithm call time */
|
static double glb_call_time = 0; /* Thread balance algorithm call time */
|
||||||
|
|
||||||
|
|
|
@ -149,7 +149,7 @@ ompt_label_##id:
|
||||||
print_possible_return_addresses(get_ompt_label_address(id))
|
print_possible_return_addresses(get_ompt_label_address(id))
|
||||||
|
|
||||||
#if KMP_ARCH_X86 || KMP_ARCH_X86_64
|
#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.
|
// a MOV instruction for non-void runtime functions which is 3 bytes long.
|
||||||
#define print_possible_return_addresses(addr) \
|
#define print_possible_return_addresses(addr) \
|
||||||
printf("%" PRIu64 ": current_address=%p or %p for non-void functions\n", \
|
printf("%" PRIu64 ": current_address=%p or %p for non-void functions\n", \
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test for taskloop
|
* 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
|
* and judge if each dispatch has the requested grainsize
|
||||||
* It is possible for two adjacent chunks are executed by the same thread
|
* It is possible for two adjacent chunks are executed by the same thread
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test for taskloop
|
* 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
|
* and judge if each dispatch has the requested grainsize
|
||||||
* It is possible for two adjacent chunks are executed by the same thread
|
* It is possible for two adjacent chunks are executed by the same thread
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test that large bounds are handled properly and calculations of
|
* 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 <stdio.h>
|
||||||
#include <omp.h>
|
#include <omp.h>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// RUN: %libomp-compile-and-run
|
// RUN: %libomp-compile-and-run
|
||||||
/*
|
/*
|
||||||
* Test for dynamic scheduling with chunk size
|
* 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
|
* and judge if each dispatch has the requested chunk size
|
||||||
* unless it is the last one.
|
* unless it is the last one.
|
||||||
* It is possible for two adjacent chunks are assigned to the same thread
|
* It is possible for two adjacent chunks are assigned to the same thread
|
||||||
|
|
|
@ -147,7 +147,7 @@ int test_omp_for_schedule_static_3()
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now we check if several loop regions in one parallel region have the
|
/* 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. */
|
* clause to increase the probability to get an error. */
|
||||||
|
|
||||||
/* First we allocate some more memmory */
|
/* First we allocate some more memmory */
|
||||||
|
|
|
@ -413,7 +413,7 @@ the script assumes host architecture is target one.
|
||||||
=item B<canon_arch( $arch )>
|
=item B<canon_arch( $arch )>
|
||||||
|
|
||||||
Input string is an architecture name to canonize. The function recognizes many variants, for example:
|
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.
|
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 )>
|
=item B<legal_arch( $arch )>
|
||||||
|
|
|
@ -356,7 +356,7 @@ if ( 0 ) {
|
||||||
$output =~ m{^ProductVersion:\s*(.*)\s*$}m
|
$output =~ m{^ProductVersion:\s*(.*)\s*$}m
|
||||||
or runtime_error( "There is no ProductVersion in sw_vers output:", $output, "(eof)" );
|
or runtime_error( "There is no ProductVersion in sw_vers output:", $output, "(eof)" );
|
||||||
my $release = $1;
|
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.
|
# Handle both variants.
|
||||||
$release =~ m{^(\d+.\d+)(?:\.\d+)?(?=\s|$)}
|
$release =~ m{^(\d+.\d+)(?:\.\d+)?(?=\s|$)}
|
||||||
or runtime_error( "Cannot parse OS X* version: $release" );
|
or runtime_error( "Cannot parse OS X* version: $release" );
|
||||||
|
|
|
@ -256,7 +256,7 @@ sub get_options {
|
||||||
"v|verbose" => sub { ++ $verbose; $ENV{ "tools.pm_verbose" } = $verbose; },
|
"v|verbose" => sub { ++ $verbose; $ENV{ "tools.pm_verbose" } = $verbose; },
|
||||||
"quiet" => 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; },
|
"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();
|
) or cmdline_error();
|
||||||
|
|
||||||
}; # sub get_options
|
}; # sub get_options
|
||||||
|
@ -708,7 +708,7 @@ Look for the first occurrence of "icc" in the specified directories:
|
||||||
|
|
||||||
my $icc = which( "icc", -dirs => [ ".", "/usr/local/bin", "/usr/bin", "/bin" ] );
|
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 ] );
|
my @omp_lib = which( "omp_lib.f", -all => 1, -exec => 0, -dirs => [ @include ] );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue