Threaded some loops that were previously not.

This commit is contained in:
falgout 2011-01-14 18:45:54 +00:00
parent 2b07c64640
commit e86279b488
2 changed files with 490 additions and 474 deletions

View File

@ -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)

View File

@ -1149,6 +1149,8 @@ hypre_PointRelax_core12( void *relax_vdata,
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] -=
@ -1202,6 +1204,8 @@ hypre_PointRelax_core12( void *relax_vdata,
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] -=
@ -1251,6 +1255,8 @@ hypre_PointRelax_core12( void *relax_vdata,
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] -=
@ -1296,6 +1302,8 @@ hypre_PointRelax_core12( void *relax_vdata,
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] -=
@ -1337,6 +1345,8 @@ hypre_PointRelax_core12( void *relax_vdata,
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] -=
@ -1374,6 +1384,8 @@ hypre_PointRelax_core12( void *relax_vdata,
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] -=
@ -1407,6 +1419,8 @@ hypre_PointRelax_core12( void *relax_vdata,
#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] -=