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_splrnt.c File Reference
#include "common.h"
Include dependency graph for core_splrnt.c:

Go to the source code of this file.

Macros

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

Functions

void CORE_splrnt (int m, int n, float *A, int lda, int bigM, int m0, int n0, unsigned long long int seed)
void QUARK_CORE_splrnt (Quark *quark, Quark_Task_Flags *task_flags, int m, int n, float *A, int lda, int bigM, int m0, int n0, unsigned long long int seed)
void CORE_splrnt_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 s Tue Nov 22 14:35:21 2011

Definition in file core_splrnt.c.


Macro Definition Documentation

#define NBELEM   1

Definition at line 38 of file core_splrnt.c.

#define REAL

Definition at line 19 of file core_splrnt.c.

#define Rnd64_A   6364136223846793005ULL

Definition at line 30 of file core_splrnt.c.

#define Rnd64_C   1ULL

Definition at line 31 of file core_splrnt.c.

#define RndD_Mul   5.4210108624275222e-20

Definition at line 33 of file core_splrnt.c.

#define RndF_Mul   5.4210108624275222e-20f

Definition at line 32 of file core_splrnt.c.


Function Documentation

void CORE_splrnt ( int  m,
int  n,
float *  A,
int  lda,
int  bigM,
int  m0,
int  n0,
unsigned long long int  seed 
)

Definition at line 64 of file core_splrnt.c.

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

{
float *tmp = A;
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_splrnt_quark ( Quark quark)

Definition at line 116 of file core_splrnt.c.

References A, CORE_splrnt(), and quark_unpack_args_8.

{
int m;
int n;
float *A;
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_splrnt( 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_splrnt ( Quark quark,
Quark_Task_Flags task_flags,
int  m,
int  n,
float *  A,
int  lda,
int  bigM,
int  m0,
int  n0,
unsigned long long int  seed 
)

Definition at line 92 of file core_splrnt.c.

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

{
sizeof(int), &m, VALUE,
sizeof(int), &n, VALUE,
sizeof(float)*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: