loop.c File Reference

#include <limits.h>
#include <stdlib.h>
#include "libgomp.h"

Include dependency graph for loop.c:

Go to the source code of this file.

Functions

static void gomp_loop_init (struct gomp_work_share *ws, long start, long end, long incr, enum gomp_schedule_type sched, long chunk_size)
static bool gomp_loop_static_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
static bool gomp_loop_dynamic_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
static bool gomp_loop_guided_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
bool GOMP_loop_runtime_start (long start, long end, long incr, long *istart, long *iend)
static bool gomp_loop_ordered_static_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
static bool gomp_loop_ordered_dynamic_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
static bool gomp_loop_ordered_guided_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
bool GOMP_loop_ordered_runtime_start (long start, long end, long incr, long *istart, long *iend)
static bool gomp_loop_static_next (long *istart, long *iend)
static bool gomp_loop_dynamic_next (long *istart, long *iend)
static bool gomp_loop_guided_next (long *istart, long *iend)
bool GOMP_loop_runtime_next (long *istart, long *iend)
static bool gomp_loop_ordered_static_next (long *istart, long *iend)
static bool gomp_loop_ordered_dynamic_next (long *istart, long *iend)
static bool gomp_loop_ordered_guided_next (long *istart, long *iend)
bool GOMP_loop_ordered_runtime_next (long *istart, long *iend)
static void gomp_parallel_loop_start (void(*fn)(void *), void *data, unsigned num_threads, long start, long end, long incr, enum gomp_schedule_type sched, long chunk_size)
void GOMP_parallel_loop_static_start (void(*fn)(void *), void *data, unsigned num_threads, long start, long end, long incr, long chunk_size)
void GOMP_parallel_loop_dynamic_start (void(*fn)(void *), void *data, unsigned num_threads, long start, long end, long incr, long chunk_size)
void GOMP_parallel_loop_guided_start (void(*fn)(void *), void *data, unsigned num_threads, long start, long end, long incr, long chunk_size)
void GOMP_parallel_loop_runtime_start (void(*fn)(void *), void *data, unsigned num_threads, long start, long end, long incr)
void GOMP_loop_end (void)
void GOMP_loop_end_nowait (void)
bool GOMP_loop_static_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
bool GOMP_loop_dynamic_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
bool GOMP_loop_guided_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
bool GOMP_loop_ordered_static_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
bool GOMP_loop_ordered_dynamic_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
bool GOMP_loop_ordered_guided_start (long start, long end, long incr, long chunk_size, long *istart, long *iend)
bool GOMP_loop_static_next (long *istart, long *iend)
bool GOMP_loop_dynamic_next (long *istart, long *iend)
bool GOMP_loop_guided_next (long *istart, long *iend)
bool GOMP_loop_ordered_static_next (long *istart, long *iend)
bool GOMP_loop_ordered_dynamic_next (long *istart, long *iend)
bool GOMP_loop_ordered_guided_next (long *istart, long *iend)


Function Documentation

bool GOMP_loop_dynamic_next ( long *  istart,
long *  iend 
)

Definition at line 592 of file loop.c.

References gomp_loop_dynamic_next().

Here is the call graph for this function:

static bool gomp_loop_dynamic_next ( long *  istart,
long *  iend 
) [static]

Definition at line 305 of file loop.c.

References gomp_iter_dynamic_next_locked(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_thread(), and thr.

Referenced by GOMP_loop_dynamic_next(), and GOMP_loop_runtime_next().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_dynamic_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
)

Definition at line 548 of file loop.c.

References gomp_loop_dynamic_start().

Here is the call graph for this function:

static bool gomp_loop_dynamic_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
) [static]

Definition at line 114 of file loop.c.

References GFS_DYNAMIC, gomp_iter_dynamic_next_locked(), gomp_loop_init(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_thread(), gomp_work_share_init_done(), gomp_work_share_start(), and thr.

Referenced by GOMP_loop_dynamic_start(), and GOMP_loop_runtime_start().

Here is the call graph for this function:

Here is the caller graph for this function:

void GOMP_loop_end ( void   ) 

Definition at line 494 of file loop.c.

References gomp_work_share_end().

Referenced by f_static_1().

Here is the call graph for this function:

Here is the caller graph for this function:

void GOMP_loop_end_nowait ( void   ) 

Definition at line 500 of file loop.c.

References gomp_work_share_end_nowait().

Here is the call graph for this function:

bool GOMP_loop_guided_next ( long *  istart,
long *  iend 
)

Definition at line 598 of file loop.c.

References gomp_loop_guided_next().

Here is the call graph for this function:

static bool gomp_loop_guided_next ( long *  istart,
long *  iend 
) [static]

Definition at line 322 of file loop.c.

References gomp_iter_guided_next_locked(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_thread(), and thr.

Referenced by GOMP_loop_guided_next(), and GOMP_loop_runtime_next().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_guided_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
)

Definition at line 555 of file loop.c.

References gomp_loop_guided_start().

Here is the call graph for this function:

static bool gomp_loop_guided_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
) [static]

Definition at line 139 of file loop.c.

References GFS_GUIDED, gomp_iter_guided_next_locked(), gomp_loop_init(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_thread(), gomp_work_share_init_done(), gomp_work_share_start(), and thr.

Referenced by GOMP_loop_guided_start(), and GOMP_loop_runtime_start().

Here is the call graph for this function:

Here is the caller graph for this function:

static void gomp_loop_init ( struct gomp_work_share ws,
long  start,
long  end,
long  incr,
enum gomp_schedule_type  sched,
long  chunk_size 
) [inline, static]

Definition at line 35 of file loop.c.

References gomp_work_share::chunk_size, gomp_work_share::end, GFS_DYNAMIC, gomp_thread(), gomp_work_share::incr, gomp_work_share::mode, gomp_work_share::next, gomp_team::nthreads, nthreads, gomp_work_share::sched, and thr.

Referenced by gomp_loop_dynamic_start(), gomp_loop_guided_start(), gomp_loop_ordered_dynamic_start(), gomp_loop_ordered_guided_start(), gomp_loop_ordered_static_start(), gomp_loop_static_start(), and gomp_parallel_loop_start().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_ordered_dynamic_next ( long *  istart,
long *  iend 
)

Definition at line 610 of file loop.c.

References gomp_loop_ordered_dynamic_next().

Here is the call graph for this function:

static bool gomp_loop_ordered_dynamic_next ( long *  istart,
long *  iend 
) [static]

Definition at line 381 of file loop.c.

References gomp_iter_dynamic_next_locked(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_ordered_last(), gomp_ordered_next(), gomp_ordered_sync(), gomp_thread(), and thr.

Referenced by GOMP_loop_ordered_dynamic_next(), and GOMP_loop_ordered_runtime_next().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_ordered_dynamic_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
)

Definition at line 570 of file loop.c.

References gomp_loop_ordered_dynamic_start().

Here is the call graph for this function:

static bool gomp_loop_ordered_dynamic_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
) [static]

Definition at line 210 of file loop.c.

References GFS_DYNAMIC, gomp_iter_dynamic_next_locked(), gomp_loop_init(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_ordered_first(), gomp_thread(), gomp_work_share_init_done(), gomp_work_share_start(), and thr.

Referenced by GOMP_loop_ordered_dynamic_start(), and GOMP_loop_ordered_runtime_start().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_ordered_guided_next ( long *  istart,
long *  iend 
)

Definition at line 616 of file loop.c.

References gomp_loop_ordered_guided_next().

Here is the call graph for this function:

static bool gomp_loop_ordered_guided_next ( long *  istart,
long *  iend 
) [static]

Definition at line 399 of file loop.c.

References gomp_iter_guided_next_locked(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_ordered_last(), gomp_ordered_next(), gomp_ordered_sync(), gomp_thread(), and thr.

Referenced by GOMP_loop_ordered_guided_next(), and GOMP_loop_ordered_runtime_next().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_ordered_guided_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
)

Definition at line 578 of file loop.c.

References gomp_loop_ordered_guided_start().

Here is the call graph for this function:

static bool gomp_loop_ordered_guided_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
) [static]

Definition at line 235 of file loop.c.

References GFS_GUIDED, gomp_iter_guided_next_locked(), gomp_loop_init(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_ordered_first(), gomp_thread(), gomp_work_share_init_done(), gomp_work_share_start(), and thr.

Referenced by GOMP_loop_ordered_guided_start(), and GOMP_loop_ordered_runtime_start().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_ordered_runtime_next ( long *  istart,
long *  iend 
)

Definition at line 417 of file loop.c.

References abort(), GFS_AUTO, GFS_DYNAMIC, GFS_GUIDED, GFS_STATIC, gomp_loop_ordered_dynamic_next(), gomp_loop_ordered_guided_next(), gomp_loop_ordered_static_next(), gomp_thread(), and thr.

Here is the call graph for this function:

bool GOMP_loop_ordered_runtime_start ( long  start,
long  end,
long  incr,
long *  istart,
long *  iend 
)

Definition at line 260 of file loop.c.

References abort(), GFS_AUTO, GFS_DYNAMIC, GFS_GUIDED, GFS_STATIC, gomp_icv(), gomp_loop_ordered_dynamic_start(), gomp_loop_ordered_guided_start(), gomp_loop_ordered_static_start(), gomp_task_icv::run_sched_modifier, and gomp_task_icv::run_sched_var.

Here is the call graph for this function:

bool GOMP_loop_ordered_static_next ( long *  istart,
long *  iend 
)

Definition at line 604 of file loop.c.

References gomp_loop_ordered_static_next().

Here is the call graph for this function:

static bool gomp_loop_ordered_static_next ( long *  istart,
long *  iend 
) [static]

Definition at line 365 of file loop.c.

References gomp_iter_static_next(), gomp_mutex_lock(), gomp_mutex_unlock(), gomp_ordered_static_next(), gomp_ordered_sync(), gomp_thread(), test, and thr.

Referenced by GOMP_loop_ordered_runtime_next(), and GOMP_loop_ordered_static_next().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_ordered_static_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
)

Definition at line 562 of file loop.c.

References gomp_loop_ordered_static_start().

Here is the call graph for this function:

static bool gomp_loop_ordered_static_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
) [static]

Definition at line 192 of file loop.c.

References GFS_STATIC, gomp_iter_static_next(), gomp_loop_init(), gomp_ordered_static_init(), gomp_thread(), gomp_work_share_init_done(), gomp_work_share_start(), and thr.

Referenced by GOMP_loop_ordered_runtime_start(), and GOMP_loop_ordered_static_start().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_runtime_next ( long *  istart,
long *  iend 
)

Definition at line 339 of file loop.c.

References abort(), GFS_AUTO, GFS_DYNAMIC, GFS_GUIDED, GFS_STATIC, gomp_loop_dynamic_next(), gomp_loop_guided_next(), gomp_loop_static_next(), gomp_thread(), and thr.

Here is the call graph for this function:

bool GOMP_loop_runtime_start ( long  start,
long  end,
long  incr,
long *  istart,
long *  iend 
)

Definition at line 164 of file loop.c.

References abort(), GFS_AUTO, GFS_DYNAMIC, GFS_GUIDED, GFS_STATIC, gomp_icv(), gomp_loop_dynamic_start(), gomp_loop_guided_start(), gomp_loop_static_start(), gomp_task_icv::run_sched_modifier, and gomp_task_icv::run_sched_var.

Here is the call graph for this function:

bool GOMP_loop_static_next ( long *  istart,
long *  iend 
)

Definition at line 586 of file loop.c.

References gomp_loop_static_next().

Referenced by f_static_1().

Here is the call graph for this function:

Here is the caller graph for this function:

static bool gomp_loop_static_next ( long *  istart,
long *  iend 
) [static]

Definition at line 299 of file loop.c.

References gomp_iter_static_next().

Referenced by GOMP_loop_runtime_next(), and GOMP_loop_static_next().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GOMP_loop_static_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
)

Definition at line 541 of file loop.c.

References gomp_loop_static_start().

Referenced by f_static_1().

Here is the call graph for this function:

Here is the caller graph for this function:

static bool gomp_loop_static_start ( long  start,
long  end,
long  incr,
long  chunk_size,
long *  istart,
long *  iend 
) [static]

Definition at line 97 of file loop.c.

References GFS_STATIC, gomp_iter_static_next(), gomp_loop_init(), gomp_thread(), gomp_work_share_init_done(), gomp_work_share_start(), and thr.

Referenced by GOMP_loop_runtime_start(), and GOMP_loop_static_start().

Here is the call graph for this function:

Here is the caller graph for this function:

void GOMP_parallel_loop_dynamic_start ( void(*)(void *)  fn,
void *  data,
unsigned  num_threads,
long  start,
long  end,
long  incr,
long  chunk_size 
)

Definition at line 462 of file loop.c.

References GFS_DYNAMIC, and gomp_parallel_loop_start().

Here is the call graph for this function:

void GOMP_parallel_loop_guided_start ( void(*)(void *)  fn,
void *  data,
unsigned  num_threads,
long  start,
long  end,
long  incr,
long  chunk_size 
)

Definition at line 471 of file loop.c.

References GFS_GUIDED, and gomp_parallel_loop_start().

Here is the call graph for this function:

void GOMP_parallel_loop_runtime_start ( void(*)(void *)  fn,
void *  data,
unsigned  num_threads,
long  start,
long  end,
long  incr 
)

Definition at line 480 of file loop.c.

References gomp_icv(), gomp_parallel_loop_start(), gomp_task_icv::run_sched_modifier, and gomp_task_icv::run_sched_var.

Here is the call graph for this function:

static void gomp_parallel_loop_start ( void(*)(void *)  fn,
void *  data,
unsigned  num_threads,
long  start,
long  end,
long  incr,
enum gomp_schedule_type  sched,
long  chunk_size 
) [static]

Definition at line 439 of file loop.c.

References gomp_loop_init(), gomp_new_team(), gomp_resolve_num_threads(), gomp_team_start(), and gomp_team::work_shares.

Referenced by GOMP_parallel_loop_dynamic_start(), GOMP_parallel_loop_guided_start(), GOMP_parallel_loop_runtime_start(), and GOMP_parallel_loop_static_start().

Here is the call graph for this function:

Here is the caller graph for this function:

void GOMP_parallel_loop_static_start ( void(*)(void *)  fn,
void *  data,
unsigned  num_threads,
long  start,
long  end,
long  incr,
long  chunk_size 
)

Definition at line 453 of file loop.c.

References GFS_STATIC, and gomp_parallel_loop_start().

Here is the call graph for this function:


Generated on Fri Apr 5 05:39:46 2013 for Libgomp by  doxygen 1.4.7