|
PLASMA
2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
#include <stdlib.h>#include <sys/types.h>#include <assert.h>#include "common.h"#include "primes.h"#include "gkkleader.h"
Go to the source code of this file.
Functions | |
| int | plasma_zshift (plasma_context_t *plasma, int m, int n, PLASMA_Complex64_t *A, int nprob, int me, int ne, int L, PLASMA_sequence *sequence, PLASMA_request *request) |
| void | plasma_pzshift (plasma_context_t *plasma) |
| void | plasma_pzshift_quark (int m, int n, int L, PLASMA_Complex64_t *A, int *leaders, int nleaders, int nprob, PLASMA_sequence *sequence, PLASMA_request *request) |
PLASMA InPlaceTransformation module PLASMA is a software package provided by Univ. of Tennessee, Univ. of California Berkeley and Univ. of Colorado Denver
This work is the implementation of an inplace transformation based on the GKK algorithm by Gustavson, Karlsson, Kagstrom and its fortran implementation.
normal z -> c d s
Definition in file pzshift.c.
| void plasma_pzshift | ( | plasma_context_t * | plasma | ) |
plasma_pzshift shifts a batch of cycles in parallel.
| [in] | plasma | Plasma context |
| [in] | m | Number of rows of the panel to shift. |
| [in] | n | Number of columns of the panel to shift |
| [in] | L | Size of each chunk to shift (Usually mb) |
| [in,out] | A | |
| [in] | leaders | |
| [in] | nleaders | |
| [in] | thrdbypb |
Definition at line 231 of file pzshift.c.
References A, CORE_zshiftw(), L, modpow(), plasma_barrier(), plasma_private_alloc(), plasma_private_free(), PLASMA_RANK, PLASMA_SUCCESS, plasma_unpack_args_9, PlasmaComplexDouble, plasma_sequence_t::status, and W.


| void plasma_pzshift_quark | ( | int | m, |
| int | n, | ||
| int | L, | ||
| PLASMA_Complex64_t * | A, | ||
| int * | leaders, | ||
| int | nleaders, | ||
| int | nprob, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
Definition at line 289 of file pzshift.c.
References CORE_foo_quark(), INOUT, L, plasma_context_self(), PLASMA_SUCCESS, plasma_context_struct::quark, QUARK_CORE_zshift(), QUARK_Insert_Task(), plasma_sequence_t::quark_sequence, QUARK_Task_Flag_Set(), Quark_Task_Flags_Initializer, plasma_sequence_t::status, TASK_SEQUENCE, TASKCOLOR, TASKLABEL, and VALUE.

| int plasma_zshift | ( | plasma_context_t * | plasma, |
| int | m, | ||
| int | n, | ||
| PLASMA_Complex64_t * | A, | ||
| int | nprob, | ||
| int | me, | ||
| int | ne, | ||
| int | L, | ||
| PLASMA_sequence * | sequence, | ||
| PLASMA_request * | request | ||
| ) |
plasma_zgetmi2 Implementation of inplace transposition based on the GKK algorithm by Gustavson, Karlsson, Kagstrom. This algorithm shift some cycles to transpose the matrix.
| [in] | m | Number of rows of matrix A |
| [in] | n | Number of columns of matrix A |
| [in,out] | A | Matrix of size L*m*n |
| [in] | nprob | Number of parallel and independant problems |
| [in] | me | Number of rows of the problem |
| [in] | ne | Number of columns in the problem |
| [in] | L | Size of chunk to use for transformation |
Definition at line 60 of file pzshift.c.
References GKK_BalanceLoad(), GKK_getLeaderNbr(), L, minloc(), plasma_dynamic_call_9, PLASMA_ERR_ILLEGAL_VALUE, plasma_error(), PLASMA_GRPSIZE, plasma_pzshift(), plasma_request_fail(), PLASMA_SCHEDULING, plasma_shared_alloc(), plasma_shared_free(), PLASMA_SIZE, plasma_static_call_9, PLASMA_STATIC_SCHEDULING, PLASMA_SUCCESS, and PlasmaInteger.

