PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
core_zplrnt.c File Reference
#include "common.h"
Include dependency graph for core_zplrnt.c:

Go to the source code of this file.

Macros

#define COMPLEX
#define Rnd64_A   6364136223846793005ULL
#define Rnd64_C   1ULL
#define RndF_Mul   5.4210108624275222e-20f
#define RndD_Mul   5.4210108624275222e-20
#define NBELEM   2

Functions

void CORE_zplrnt (int m, int n, PLASMA_Complex64_t *A, int lda, int bigM, int m0, int n0, unsigned long long int seed)
void QUARK_CORE_zplrnt (Quark *quark, Quark_Task_Flags *task_flags, int m, int n, PLASMA_Complex64_t *A, int lda, int bigM, int m0, int n0, unsigned long long int seed)
void CORE_zplrnt_quark (Quark *quark)

Detailed Description

PLASMA core_blas kernel PLASMA is a software package provided by Univ. of Tennessee, Univ. of California Berkeley and Univ. of Colorado Denver

Version:
2.4.5
Author:
Piotr Luszczek
Pierre Lemarinier
Mathieu Faverge
Date:
2010-11-15 normal z -> c d s

Definition in file core_zplrnt.c.


Macro Definition Documentation

#define COMPLEX

Definition at line 19 of file core_zplrnt.c.

#define NBELEM   2

Definition at line 36 of file core_zplrnt.c.

#define Rnd64_A   6364136223846793005ULL

Definition at line 30 of file core_zplrnt.c.

#define Rnd64_C   1ULL

Definition at line 31 of file core_zplrnt.c.

#define RndD_Mul   5.4210108624275222e-20

Definition at line 33 of file core_zplrnt.c.

#define RndF_Mul   5.4210108624275222e-20f

Definition at line 32 of file core_zplrnt.c.


Function Documentation

void CORE_zplrnt ( int  m,
int  n,
PLASMA_Complex64_t A,
int  lda,
int  bigM,
int  m0,
int  n0,
unsigned long long int  seed 
)

Definition at line 64 of file core_zplrnt.c.

References A, NBELEM, Rnd64_A, Rnd64_C, and RndF_Mul.

{
int64_t i, j;
unsigned long long int ran, jump;
jump = m0 + n0 * bigM;
for (j=0; j<n; ++j ) {
ran = Rnd64_jump( NBELEM*jump, seed );
for (i = 0; i < m; ++i) {
*tmp = 0.5f - ran * RndF_Mul;
ran = Rnd64_A * ran + Rnd64_C;
#ifdef COMPLEX
*tmp += I*(0.5f - ran * RndF_Mul);
ran = Rnd64_A * ran + Rnd64_C;
#endif
tmp++;
}
tmp += lda-i;
jump += bigM;
}
}

Here is the caller graph for this function:

void CORE_zplrnt_quark ( Quark quark)

Definition at line 116 of file core_zplrnt.c.

References A, CORE_zplrnt(), and quark_unpack_args_8.

{
int m;
int n;
int lda;
int bigM;
int m0;
int n0;
unsigned long long int seed;
quark_unpack_args_8( quark, m, n, A, lda, bigM, m0, n0, seed );
CORE_zplrnt( m, n, A, lda, bigM, m0, n0, seed );
}

Here is the call graph for this function:

Here is the caller graph for this function:

void QUARK_CORE_zplrnt ( Quark quark,
Quark_Task_Flags task_flags,
int  m,
int  n,
PLASMA_Complex64_t A,
int  lda,
int  bigM,
int  m0,
int  n0,
unsigned long long int  seed 
)

Definition at line 92 of file core_zplrnt.c.

References CORE_zplrnt_quark(), DAG_CORE_PLRNT, OUTPUT, QUARK_Insert_Task(), and VALUE.

{
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(PLASMA_Complex64_t)*lda*n, A, OUTPUT,
sizeof(int), &lda, VALUE,
sizeof(int), &bigM, VALUE,
sizeof(int), &m0, VALUE,
sizeof(int), &n0, VALUE,
sizeof(unsigned long long int), &seed, VALUE,
0);
}

Here is the call graph for this function:

Here is the caller graph for this function: