remove bug in the calculation of I
This commit is contained in:
parent
dcfbb44213
commit
5687380ea0
2 changed files with 17 additions and 8 deletions
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue