diff --git a/CMakeLists.txt b/CMakeLists.txt index 8645a1b65771e7f04a477573ae339e0000bb84fb..c8fa0f87d5c4b369f6e5ddbdd734dc4443fed675 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -237,9 +237,12 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/") message("-- ${BoldGreen}CHAMELEON_SIMULATION is set to OFF, turn it ON to use" " SIMULATION mode (only with StarPU compiled with SimGrid)${ColourReset}") endif() - option(CHAMELEON_SIMULATION_MAGMA "Enable magma kernels in simulation mode" OFF) - if (NOT CHAMELEON_SIMULATION_MAGMA) - message("-- ${BoldGreen}CHAMELEON_SIMULATION_MAGMA is set to OFF, turn it ON to enable MAGMA kernels in " + option(CHAMELEON_SIMULATION_MAGMA "Enable cuda/magma kernels in simulation mode" OFF) + if (CHAMELEON_SIMULATION_MAGMA) + message("-- ${BoldGreen}CHAMELEON_SIMULATION_MAGMA is set to ON, turn it OFF to disable CUDA/MAGMA kernels in " + " SIMULATION mode${ColourReset}") + else() + message("-- ${BoldGreen}CHAMELEON_SIMULATION_MAGMA is set to OFF, turn it ON to enable CUDA/MAGMA kernels in " " SIMULATION mode${ColourReset}") endif() endif() diff --git a/compute/pzgelqf.c b/compute/pzgelqf.c index 1e2a17ccf7feb1b3d7996b5b49c3fa7631eae4e6..636a6ee522e38d5de2015e250a7de99866e3a76d 100644 --- a/compute/pzgelqf.c +++ b/compute/pzgelqf.c @@ -71,7 +71,7 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, ws_worker = A->nb * (ib+1); /* Allocation of temporary (scratch) working space */ -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zgelqt = max( A->nb * (ib+1), ib * (ib + A->nb) ) @@ -117,7 +117,7 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, A(k, k), ldak, DIAG(k), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, A->mb, A->nb, diff --git a/compute/pzgelqfrh.c b/compute/pzgelqfrh.c index 08e1cc9fcddf5471e2a8157cd5e435e6ffb405cb..7205791c4ffc38ed8f0abf01b3bc1b13720d99fb 100644 --- a/compute/pzgelqfrh.c +++ b/compute/pzgelqfrh.c @@ -79,7 +79,7 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS, ws_worker = A->nb * (ib+1); /* Allocation of temporary (scratch) working space */ -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zgelqt = max( A->nb * (ib+1), ib * (ib + A->nb) ) @@ -128,7 +128,7 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS, A(k, N), ldak, DIAG(k, N), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkm, tempNn, diff --git a/compute/pzgeqrf.c b/compute/pzgeqrf.c index 98e5d3679144ae925637118a902b31716e927949..4edf41b730b9fef1170f91d7cc44769fdcd49048 100644 --- a/compute/pzgeqrf.c +++ b/compute/pzgeqrf.c @@ -72,7 +72,7 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, ws_worker = A->nb * (ib+1); /* Allocation of temporary (scratch) working space */ -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zgeqrt = max( A->nb * (ib+1), ib * (ib + A->nb) ) @@ -118,7 +118,7 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, A(k, k), ldak, DIAG(k), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, A->mb, A->nb, diff --git a/compute/pzgeqrfrh.c b/compute/pzgeqrfrh.c index 35f433b65420afcf6a2d36b3d01cd4d8c96503c0..c2af99bca968b925cca45a8b0c575a571ba30d1a 100644 --- a/compute/pzgeqrfrh.c +++ b/compute/pzgeqrfrh.c @@ -77,7 +77,7 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS, ws_worker = A->nb * (ib+1); /* Allocation of temporary (scratch) working space */ -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zgeqrt = max( A->nb * (ib+1), ib * (ib + A->nb) ) @@ -127,7 +127,7 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS, A(M, k), ldaM, DIAG(M, k), ldaM ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempMm, A->nb, diff --git a/compute/pzgetrf_incpiv.c b/compute/pzgetrf_incpiv.c index 323338a425be2eb4af37845af7753cd6986aaaff..c78faa11b36556e015b48da8d32b4bb37da8b69d 100644 --- a/compute/pzgetrf_incpiv.c +++ b/compute/pzgetrf_incpiv.c @@ -64,7 +64,7 @@ void morse_pzgetrf_incpiv(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV, RUNTIME_options_init(&options, morse, sequence, request); ib = MORSE_IB; -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) h_work_size = sizeof(MORSE_Complex64_t)*( 2*ib + 2*L->nb )*2*A->mb; d_work_size = sizeof(MORSE_Complex64_t)*( ib )*2*A->mb; #else diff --git a/compute/pzunglq.c b/compute/pzunglq.c index d59c3ff8bf659b5d997cdbf58ae8abb6110846e0..4244a24809d878c5d07b47d7b65e09e6da882a2a 100644 --- a/compute/pzunglq.c +++ b/compute/pzunglq.c @@ -77,7 +77,7 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, ws_worker = A->nb * ib; /* Allocation of temporary (scratch) working space */ -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zunmlq = A->nb * ib @@ -123,7 +123,7 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, A(k, k), ldak, DIAG(k), A->mb ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempkn, diff --git a/compute/pzunglqrh.c b/compute/pzunglqrh.c index b175fbf32b0c4ce8667da7267fbb3ac9151fdcaa..d236cea6c743580c1f346c1e46d938c1b5187dcc 100644 --- a/compute/pzunglqrh.c +++ b/compute/pzunglqrh.c @@ -75,7 +75,7 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, */ ws_worker = A->nb * ib; -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zunmqr = A->nb * ib @@ -146,7 +146,7 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q, A(k, N), ldak, DIAG(k, N), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempNn, diff --git a/compute/pzungqr.c b/compute/pzungqr.c index 34155b7e97479e6a8264c8c0cdb6e756599d37cb..b3f46281868fca23cd39c582cc92890c402c6cb1 100644 --- a/compute/pzungqr.c +++ b/compute/pzungqr.c @@ -71,7 +71,7 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, ws_worker = A->nb * ib; /* Allocation of temporary (scratch) working space */ -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zunmqr = A->nb * ib @@ -119,7 +119,7 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T, A(k, k), ldak, DIAG(k), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempkm, tempkmin, diff --git a/compute/pzungqrrh.c b/compute/pzungqrrh.c index 0869550c0f826da206f6faacbb0bdff4f12e4ef2..39609da69a6f0003622e01f75ad45122c4f42922 100644 --- a/compute/pzungqrrh.c +++ b/compute/pzungqrrh.c @@ -77,7 +77,7 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, */ ws_worker = A->nb * ib; -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zunmqr = A->nb * ib @@ -152,7 +152,7 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q, A(M, k), ldaM, DIAG(M, k), ldaM ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempMm, tempkmin, diff --git a/compute/pzunmlq.c b/compute/pzunmlq.c index ff2d32ac626e182d58f2b9dc076f43a46e468410..8757c1e85a3126ceb1baab21be6186dec9d14e82 100644 --- a/compute/pzunmlq.c +++ b/compute/pzunmlq.c @@ -79,7 +79,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, */ ws_worker = A->nb * ib; -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zunmlq = A->nb * ib @@ -114,7 +114,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, A(k, k), ldak, DIAG(k), A->mb ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempkm, @@ -179,7 +179,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, A(k, k), ldak, DIAG(k), A->mb ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempkm, @@ -230,7 +230,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, A(k, k), ldak, DIAG(k), A->mb ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempkn, @@ -265,7 +265,7 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, A(k, k), ldak, DIAG(k), A->mb ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempkn, diff --git a/compute/pzunmlqrh.c b/compute/pzunmlqrh.c index bdab950a4560ecf4201ddeba13da30863e5cd0de..99c31285bd0ed6bbd5f2d2c7b05bbda7696c5d5f 100644 --- a/compute/pzunmlqrh.c +++ b/compute/pzunmlqrh.c @@ -77,7 +77,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, */ ws_worker = A->nb * ib; -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zunmlq = A->nb * ib @@ -117,7 +117,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, A(k, N), ldak, DIAG(k, N), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempNn, @@ -229,7 +229,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, A(k, N), ldak, DIAG(k, N), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempNn, @@ -306,7 +306,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, A(k, N), ldak, DIAG(k, N), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempNn, @@ -345,7 +345,7 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans, A(k, N), ldaN, DIAG(k, N), ldaN ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseLower, tempkmin, tempNn, diff --git a/compute/pzunmqr.c b/compute/pzunmqr.c index 2c1631875d336d541e5efe217aea67903ffa2b51..690b785f4d7624a5ed2392c7bb39332768b48b1f 100644 --- a/compute/pzunmqr.c +++ b/compute/pzunmqr.c @@ -71,7 +71,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, */ ws_worker = A->nb * ib; -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zunmqr = A->nb * ib @@ -114,7 +114,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, A(k, k), ldak, DIAG(k), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempkm, tempkmin, @@ -181,7 +181,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, A(k, k), ldak, DIAG(k), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempkm, tempkmin, @@ -234,7 +234,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, A(k, k), ldak, DIAG(k), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempkn, tempkmin, @@ -269,7 +269,7 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, A(k, k), ldak, DIAG(k), ldak ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempkn, tempkmin, diff --git a/compute/pzunmqrrh.c b/compute/pzunmqrrh.c index 7f3d33d36b2822afc70140eb6a42b5f8aeaf5082..3050eae201f4492d7af7e32d518645f617cb5ba1 100644 --- a/compute/pzunmqrrh.c +++ b/compute/pzunmqrrh.c @@ -77,7 +77,7 @@ void morse_pzunmqrrh(MORSE_enum side, MORSE_enum trans, */ ws_worker = A->nb * ib; -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) /* Worker space * * zunmqr = A->nb * ib @@ -116,7 +116,7 @@ void morse_pzunmqrrh(MORSE_enum side, MORSE_enum trans, A(M, k), ldaM, DIAG(M, k), ldaM ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempMm, tempkmin, @@ -231,7 +231,7 @@ void morse_pzunmqrrh(MORSE_enum side, MORSE_enum trans, A(M, k), ldaM, DIAG(M, k), ldaM ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempMm, tempkmin, @@ -310,7 +310,7 @@ void morse_pzunmqrrh(MORSE_enum side, MORSE_enum trans, A(M, k), ldaM, DIAG(M, k), ldaM ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempMm, tempkmin, @@ -348,7 +348,7 @@ void morse_pzunmqrrh(MORSE_enum side, MORSE_enum trans, A(M, k), ldaM, DIAG(M, k), ldaM ); #endif -#if defined(CHAMELEON_USE_MAGMA) +#if defined(CHAMELEON_USE_MAGMA) || defined(CHAMELEON_SIMULATION_MAGMA) MORSE_TASK_zlaset( &options, MorseUpper, tempMm, tempkmin,