Threaded some loops that were previously not.
This commit is contained in:
parent
2b07c64640
commit
e86279b488
@ -911,15 +911,17 @@ hypre_ZeroDiagonal( hypre_StructMatrix *A )
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
hypre_BoxLoop1Begin(loop_size, A_dbox, start, stride, Ai);
|
||||
#define HYPRE_BOX_SMP_PRIVATE loopk,loopi,loopj,Ai
|
||||
#define HYPRE_SMP_REDUCTION_OP *
|
||||
#define HYPRE_SMP_REDUCTION_VARS diag_product
|
||||
#include "hypre_box_smp_forloop.h"
|
||||
hypre_BoxLoop1For(loopi, loopj, loopk, Ai)
|
||||
{
|
||||
diag_product *= Ap[Ai];
|
||||
}
|
||||
hypre_BoxLoop1End(Ai);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (diag_product == 0)
|
||||
|
||||
@ -1140,15 +1140,17 @@ hypre_PointRelax_core12( void *relax_vdata,
|
||||
t_data_box, start, stride, ti);
|
||||
#ifdef USE_ONESTRIDE
|
||||
#undef hypre_UserOutsideInnerLoop
|
||||
#define hypre_UserOutsideInnerLoop\
|
||||
p_tp = &tp[ti];\
|
||||
p_xp0 = &xp[xi+xoff0];\
|
||||
p_xp1 = &xp[xi+xoff1];\
|
||||
p_xp2 = &xp[xi+xoff2];\
|
||||
p_xp3 = &xp[xi+xoff3];\
|
||||
p_xp4 = &xp[xi+xoff4];\
|
||||
p_xp5 = &xp[xi+xoff5];\
|
||||
#define hypre_UserOutsideInnerLoop \
|
||||
p_tp = &tp[ti]; \
|
||||
p_xp0 = &xp[xi+xoff0]; \
|
||||
p_xp1 = &xp[xi+xoff1]; \
|
||||
p_xp2 = &xp[xi+xoff2]; \
|
||||
p_xp3 = &xp[xi+xoff3]; \
|
||||
p_xp4 = &xp[xi+xoff4]; \
|
||||
p_xp5 = &xp[xi+xoff5]; \
|
||||
p_xp6 = &xp[xi+xoff6];
|
||||
#define HYPRE_BOX_SMP_PRIVATE loopk,loopi,loopj,xi,ti
|
||||
#include "hypre_box_smp_forloop.h"
|
||||
hypre_BoxLoop2For_OneStride(loopi, loopj, loopk, xi, ti)
|
||||
{
|
||||
p_tp[loopi] -=
|
||||
@ -1194,14 +1196,16 @@ hypre_PointRelax_core12( void *relax_vdata,
|
||||
t_data_box, start, stride, ti);
|
||||
#ifdef USE_ONESTRIDE
|
||||
#undef hypre_UserOutsideInnerLoop
|
||||
#define hypre_UserOutsideInnerLoop\
|
||||
p_tp = &tp[ti];\
|
||||
p_xp0 = &xp[xi+xoff0];\
|
||||
p_xp1 = &xp[xi+xoff1];\
|
||||
p_xp2 = &xp[xi+xoff2];\
|
||||
p_xp3 = &xp[xi+xoff3];\
|
||||
p_xp4 = &xp[xi+xoff4];\
|
||||
#define hypre_UserOutsideInnerLoop \
|
||||
p_tp = &tp[ti]; \
|
||||
p_xp0 = &xp[xi+xoff0]; \
|
||||
p_xp1 = &xp[xi+xoff1]; \
|
||||
p_xp2 = &xp[xi+xoff2]; \
|
||||
p_xp3 = &xp[xi+xoff3]; \
|
||||
p_xp4 = &xp[xi+xoff4]; \
|
||||
p_xp5 = &xp[xi+xoff5];
|
||||
#define HYPRE_BOX_SMP_PRIVATE loopk,loopi,loopj,xi,ti
|
||||
#include "hypre_box_smp_forloop.h"
|
||||
hypre_BoxLoop2For_OneStride(loopi, loopj, loopk, xi, ti)
|
||||
{
|
||||
p_tp[loopi] -=
|
||||
@ -1244,13 +1248,15 @@ hypre_PointRelax_core12( void *relax_vdata,
|
||||
t_data_box, start, stride, ti);
|
||||
#ifdef USE_ONESTRIDE
|
||||
#undef hypre_UserOutsideInnerLoop
|
||||
#define hypre_UserOutsideInnerLoop\
|
||||
p_tp = &tp[ti];\
|
||||
p_xp0 = &xp[xi+xoff0];\
|
||||
p_xp1 = &xp[xi+xoff1];\
|
||||
p_xp2 = &xp[xi+xoff2];\
|
||||
p_xp3 = &xp[xi+xoff3];\
|
||||
#define hypre_UserOutsideInnerLoop \
|
||||
p_tp = &tp[ti]; \
|
||||
p_xp0 = &xp[xi+xoff0]; \
|
||||
p_xp1 = &xp[xi+xoff1]; \
|
||||
p_xp2 = &xp[xi+xoff2]; \
|
||||
p_xp3 = &xp[xi+xoff3]; \
|
||||
p_xp4 = &xp[xi+xoff4];
|
||||
#define HYPRE_BOX_SMP_PRIVATE loopk,loopi,loopj,xi,ti
|
||||
#include "hypre_box_smp_forloop.h"
|
||||
hypre_BoxLoop2For_OneStride(loopi, loopj, loopk, xi, ti)
|
||||
{
|
||||
p_tp[loopi] -=
|
||||
@ -1290,12 +1296,14 @@ hypre_PointRelax_core12( void *relax_vdata,
|
||||
t_data_box, start, stride, ti);
|
||||
#ifdef USE_ONESTRIDE
|
||||
#undef hypre_UserOutsideInnerLoop
|
||||
#define hypre_UserOutsideInnerLoop\
|
||||
p_tp = &tp[ti];\
|
||||
p_xp0 = &xp[xi+xoff0];\
|
||||
p_xp1 = &xp[xi+xoff1];\
|
||||
p_xp2 = &xp[xi+xoff2];\
|
||||
#define hypre_UserOutsideInnerLoop \
|
||||
p_tp = &tp[ti]; \
|
||||
p_xp0 = &xp[xi+xoff0]; \
|
||||
p_xp1 = &xp[xi+xoff1]; \
|
||||
p_xp2 = &xp[xi+xoff2]; \
|
||||
p_xp3 = &xp[xi+xoff3];
|
||||
#define HYPRE_BOX_SMP_PRIVATE loopk,loopi,loopj,xi,ti
|
||||
#include "hypre_box_smp_forloop.h"
|
||||
hypre_BoxLoop2For_OneStride(loopi, loopj, loopk, xi, ti)
|
||||
{
|
||||
p_tp[loopi] -=
|
||||
@ -1332,11 +1340,13 @@ hypre_PointRelax_core12( void *relax_vdata,
|
||||
t_data_box, start, stride, ti);
|
||||
#ifdef USE_ONESTRIDE
|
||||
#undef hypre_UserOutsideInnerLoop
|
||||
#define hypre_UserOutsideInnerLoop\
|
||||
p_tp = &tp[ti];\
|
||||
p_xp0 = &xp[xi+xoff0];\
|
||||
p_xp1 = &xp[xi+xoff1];\
|
||||
#define hypre_UserOutsideInnerLoop \
|
||||
p_tp = &tp[ti]; \
|
||||
p_xp0 = &xp[xi+xoff0]; \
|
||||
p_xp1 = &xp[xi+xoff1]; \
|
||||
p_xp2 = &xp[xi+xoff2];
|
||||
#define HYPRE_BOX_SMP_PRIVATE loopk,loopi,loopj,xi,ti
|
||||
#include "hypre_box_smp_forloop.h"
|
||||
hypre_BoxLoop2For_OneStride(loopi, loopj, loopk, xi, ti)
|
||||
{
|
||||
p_tp[loopi] -=
|
||||
@ -1370,10 +1380,12 @@ hypre_PointRelax_core12( void *relax_vdata,
|
||||
t_data_box, start, stride, ti);
|
||||
#ifdef USE_ONESTRIDE
|
||||
#undef hypre_UserOutsideInnerLoop
|
||||
#define hypre_UserOutsideInnerLoop\
|
||||
p_tp = &tp[ti];\
|
||||
p_xp0 = &xp[xi+xoff0];\
|
||||
#define hypre_UserOutsideInnerLoop \
|
||||
p_tp = &tp[ti]; \
|
||||
p_xp0 = &xp[xi+xoff0]; \
|
||||
p_xp1 = &xp[xi+xoff1];
|
||||
#define HYPRE_BOX_SMP_PRIVATE loopk,loopi,loopj,xi,ti
|
||||
#include "hypre_box_smp_forloop.h"
|
||||
hypre_BoxLoop2For_OneStride(loopi, loopj, loopk, xi, ti)
|
||||
{
|
||||
p_tp[loopi] -=
|
||||
@ -1404,9 +1416,11 @@ hypre_PointRelax_core12( void *relax_vdata,
|
||||
t_data_box, start, stride, ti);
|
||||
#ifdef USE_ONESTRIDE
|
||||
#undef hypre_UserOutsideInnerLoop
|
||||
#define hypre_UserOutsideInnerLoop\
|
||||
p_tp = &tp[ti];\
|
||||
#define hypre_UserOutsideInnerLoop \
|
||||
p_tp = &tp[ti]; \
|
||||
p_xp0 = &xp[xi+xoff0];
|
||||
#define HYPRE_BOX_SMP_PRIVATE loopk,loopi,loopj,xi,ti
|
||||
#include "hypre_box_smp_forloop.h"
|
||||
hypre_BoxLoop2For_OneStride(loopi, loopj, loopk, xi, ti)
|
||||
{
|
||||
p_tp[loopi] -=
|
||||
|
||||
Loading…
Reference in New Issue
Block a user