diff --git a/apps/laplace.c b/apps/laplace.c index 10fd3d76..a892d61b 100644 --- a/apps/laplace.c +++ b/apps/laplace.c @@ -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); diff --git a/apps/tests.c b/apps/tests.c index e6bd093b..65f4f465 100644 --- a/apps/tests.c +++ b/apps/tests.c @@ -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);