remove bug in the calculation of I

This commit is contained in:
Stefan Lankes 2011-10-21 14:16:39 -07:00
parent dcfbb44213
commit 5687380ea0
2 changed files with 17 additions and 8 deletions

View file

@ -44,17 +44,17 @@
#define ABS(a) (((a) < 0) ? -(a) : (a))
#define MAX(a,b) (((a) < (b)) ? (b) : (a))
#define N 510
#define N 1022
#define M 510
#define TMAX 100*50
#define TMAX (100*50)
//#define DATA unsigned int
#define DATA double
//#define FIX 1024
#define FIX 1
#define USE_SVM 0
#define USE_SVM 1
#define MEMTYPE SVM_STRONG
//#define MEMTYPE SVM_LAZYRELEASE
@ -110,10 +110,10 @@ int laplace(void *arg)
J = 0;
n = N / num_ranks;
I = n * my_rank;
if (my_rank == num_ranks - 1)
n += N % num_ranks;
I = n * my_rank;
kprintf("(%d) %d x %d / offsets: %d, %d / (%d x %d)\n", my_rank, N, M, I, J, n, m);
@ -199,8 +199,10 @@ int laplace(void *arg)
}
}
#if USE_SVM
svm_flush();
svm_invalidate();
#endif
RCCE_barrier(&RCCE_COMM_WORLD);
kprintf("(%d) Arrays initialized!\n", my_rank);
@ -230,14 +232,16 @@ int laplace(void *arg)
#endif
}
}
#if USE_SVM
svm_flush();
svm_invalidate();
#endif
tmp = NewValues;
NewValues = OldValues;
OldValues = tmp;
//RCCE_TNS_barrier(&RCCE_COMM_WORLD);
RCCE_barrier(&RCCE_COMM_WORLD);
#ifdef _USE_GFX
@ -271,7 +275,9 @@ int laplace(void *arg)
kprintf("Calculation time: %llu ms (%llu ticks)\n", (end-start)/(1000ULL*get_cpu_frequency()), end-start);
#if USE_SVM
svm_statistics();
#endif
}
kprintf("(%d) Algorithm completed!\n", my_rank);

View file

@ -40,6 +40,8 @@ static sem_t consuming, producing;
static mailbox_int32_t mbox;
static int val = 0;
int laplace(void* arg);
static int consumer(void* arg)
{
int i, m = 0;
@ -310,16 +312,17 @@ int test_init(void)
sem_init(&consuming, 0);
mailbox_int32_init(&mbox);
create_kernel_task(NULL, foo, "Hello from foo1", NORMAL_PRIO);
create_kernel_task(NULL, join_test, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, foo, "Hello from foo1", NORMAL_PRIO);
//create_kernel_task(NULL, join_test, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, producer, , NORMAL_PRIO);
//create_kernel_task(NULL, consumer, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, mail_ping, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, mail_noise, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, svm_test, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, pi, NULL, NORMAL_PRIO);
create_kernel_task(NULL, laplace, NULL, NORMAL_PRIO);
//create_user_task(NULL, "/bin/hello", argv);
create_user_task(NULL, "/bin/tests", argv);
//create_user_task(NULL, "/bin/tests", argv);
//create_user_task(NULL, "/bin/jacobi", argv);
//create_user_task(NULL, "/bin/mshell", argv);
//create_user_task(NULL, "/bin/jacobi", argv);