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
global.h File Reference
#include <plasma.h>
#include <string.h>
#include <pthread.h>
Include dependency graph for global.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CONTEXTS_MAX   256
#define CONTEXT_THREADS_MAX   256
#define ARGS_BUFF_SIZE   512
#define CACHE_LINE_SIZE   128
#define STANDARD_PAGE_SIZE   4096
#define PLASMA_ACT_STAND_BY   0
#define PLASMA_ACT_PARALLEL   1
#define PLASMA_ACT_DYNAMIC   2
#define PLASMA_ACT_FINALIZE   3
#define PLASMA_FUNC_SGELS   1
#define PLASMA_FUNC_SPOSV   2
#define PLASMA_FUNC_SGESV   3
#define PLASMA_FUNC_DGELS   4
#define PLASMA_FUNC_DPOSV   5
#define PLASMA_FUNC_DGESV   6
#define PLASMA_FUNC_CGELS   7
#define PLASMA_FUNC_CPOSV   8
#define PLASMA_FUNC_CGESV   9
#define PLASMA_FUNC_ZGELS   10
#define PLASMA_FUNC_ZPOSV   11
#define PLASMA_FUNC_ZGESV   12
#define PLASMA_FUNC_ZCGESV   13
#define PLASMA_FUNC_DSGESV   14
#define PLASMA_FUNC_ZCPOSV   15
#define PLASMA_FUNC_DSPOSV   16
#define PLASMA_FUNC_DSGELS   17
#define PLASMA_FUNC_ZCGELS   18
#define PLASMA_FUNC_SGEMM   19
#define PLASMA_FUNC_DGEMM   20
#define PLASMA_FUNC_CGEMM   21
#define PLASMA_FUNC_ZGEMM   22
#define PLASMA_FUNC_SSYMM   23
#define PLASMA_FUNC_DSYMM   24
#define PLASMA_FUNC_CSYMM   25
#define PLASMA_FUNC_ZSYMM   26
#define PLASMA_FUNC_CHERK   27
#define PLASMA_FUNC_ZHERK   28
#define PLASMA_FUNC_SSYRK   29
#define PLASMA_FUNC_DSYRK   30
#define PLASMA_FUNC_CSYRK   31
#define PLASMA_FUNC_ZSYRK   32
#define PLASMA_FUNC_CHEMM   33
#define PLASMA_FUNC_ZHEMM   34
#define PLASMA_FUNC_ZHEEV   35
#define PLASMA_FUNC_CHEEV   36
#define PLASMA_FUNC_DSYEV   37
#define PLASMA_FUNC_SSYEV   38
#define PLASMA_FUNC_ZHEGST   39
#define PLASMA_FUNC_CHEGST   40
#define PLASMA_FUNC_DSYGST   41
#define PLASMA_FUNC_SSYGST   42
#define PLASMA_FUNC_ZHEGV   43
#define PLASMA_FUNC_CHEGV   44
#define PLASMA_FUNC_DSYGV   45
#define PLASMA_FUNC_SSYGV   46
#define PLASMA_FUNC_ZHETRD   47
#define PLASMA_FUNC_CHETRD   48
#define PLASMA_FUNC_DSYTRD   49
#define PLASMA_FUNC_SSYTRD   50
#define PLASMA_FUNC_ZGESVD   51
#define PLASMA_FUNC_CGESVD   52
#define PLASMA_FUNC_DGESVD   53
#define PLASMA_FUNC_SGESVD   54
#define PLASMA_FUNC_ZGEEV   55
#define PLASMA_FUNC_CGEEV   56
#define PLASMA_FUNC_DGEEV   57
#define PLASMA_FUNC_SGEEV   58
#define PLASMA_FUNC_ZGEHRD   59
#define PLASMA_FUNC_CGEHRD   60
#define PLASMA_FUNC_DGEHRD   61
#define PLASMA_FUNC_SGEHRD   62
#define PLASMA_FUNC_ZGEBRD   63
#define PLASMA_FUNC_CGEBRD   64
#define PLASMA_FUNC_DGEBRD   65
#define PLASMA_FUNC_SGEBRD   66
#define plasma_pack_args_1(type1, arg1)
#define plasma_pack_args_2(type1, arg1, type2, arg2)
#define plasma_pack_args_3(type1, arg1, type2, arg2, type3, arg3)
#define plasma_pack_args_4(type1, arg1, type2, arg2, type3, arg3, type4, arg4)
#define plasma_pack_args_5(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5)
#define plasma_pack_args_6(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6)
#define plasma_pack_args_7(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7)
#define plasma_pack_args_8(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8)
#define plasma_pack_args_9(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8, type9, arg9)
#define plasma_pack_args_10(type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8, type9, arg9, type10, arg10)
#define plasma_dynamic_sync()
#define plasma_static_call(parallel_function)
#define plasma_dynamic_spawn()
#define plasma_static_call_1(parallel_function, type1, arg1)
#define plasma_static_call_2(parallel_function, type1, arg1, type2, arg2)
#define plasma_static_call_3(parallel_function, type1, arg1, type2, arg2, type3, arg3)
#define plasma_static_call_4(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4)
#define plasma_static_call_5(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5)
#define plasma_static_call_6(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6)
#define plasma_static_call_7(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7)
#define plasma_static_call_8(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8)
#define plasma_static_call_9(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8, type9, arg9)
#define plasma_static_call_10(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8, type9, arg9, type10, arg10)
#define plasma_parallel_call_1(parallel_function, type1, arg1)
#define plasma_parallel_call_2(parallel_function, type1, arg1, type2, arg2)
#define plasma_parallel_call_3(parallel_function, type1, arg1, type2, arg2, type3, arg3)
#define plasma_parallel_call_4(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4)
#define plasma_parallel_call_5(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5)
#define plasma_parallel_call_6(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6)
#define plasma_parallel_call_7(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7)
#define plasma_parallel_call_8(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8)
#define plasma_parallel_call_9(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8, type9, arg9)
#define plasma_parallel_call_10(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8, type9, arg9, type10, arg10)
#define plasma_dynamic_call_1(parallel_function, type1, arg1)
#define plasma_dynamic_call_2(parallel_function, type1, arg1, type2, arg2)
#define plasma_dynamic_call_3(parallel_function, type1, arg1, type2, arg2, type3, arg3)
#define plasma_dynamic_call_4(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4)
#define plasma_dynamic_call_5(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5)
#define plasma_dynamic_call_6(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6)
#define plasma_dynamic_call_7(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7)
#define plasma_dynamic_call_8(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8)
#define plasma_dynamic_call_9(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8, type9, arg9)
#define plasma_dynamic_call_10(parallel_function, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6, type7, arg7, type8, arg8, type9, arg9, type10, arg10)
#define plasma_unpack_args_1(arg1)
#define plasma_unpack_args_2(arg1, arg2)
#define plasma_unpack_args_3(arg1, arg2, arg3)
#define plasma_unpack_args_4(arg1, arg2, arg3, arg4)
#define plasma_unpack_args_5(arg1, arg2, arg3, arg4, arg5)
#define plasma_unpack_args_6(arg1, arg2, arg3, arg4, arg5, arg6)
#define plasma_unpack_args_7(arg1, arg2, arg3, arg4, arg5, arg6, arg7)
#define plasma_unpack_args_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
#define plasma_unpack_args_9(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
#define plasma_unpack_args_10(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)

Detailed Description

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

Version:
2.4.5
Author:
Jakub Kurzak
Piotr Luszczek
Date:
2010-11-15

Definition in file global.h.


Macro Definition Documentation

#define ARGS_BUFF_SIZE   512

Definition at line 41 of file global.h.

#define CACHE_LINE_SIZE   128

Definition at line 43 of file global.h.

#define CONTEXT_THREADS_MAX   256

Definition at line 39 of file global.h.

#define CONTEXTS_MAX   256

PLASMA internals of interest to PLASMA core developers, but not necessarily of interest to PLASMA community contributors. Configuration

Definition at line 37 of file global.h.

#define PLASMA_ACT_DYNAMIC   2

Definition at line 52 of file global.h.

#define PLASMA_ACT_FINALIZE   3

Definition at line 53 of file global.h.

#define PLASMA_ACT_PARALLEL   1

Definition at line 51 of file global.h.

#define PLASMA_ACT_STAND_BY   0

Action commands

Definition at line 50 of file global.h.

#define plasma_dynamic_call_1 (   parallel_function,
  type1,
  arg1 
)
Value:
parallel_function##_quark( \
arg1); \

Parallel call for functions with dynamic versions only

Definition at line 888 of file global.h.

#define plasma_dynamic_call_10 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8,
  type9,
  arg9,
  type10,
  arg10 
)
Value:
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6, \
arg7, \
arg8, \
arg9, \
arg10);

Definition at line 1023 of file global.h.

#define plasma_dynamic_call_2 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2 
)
Value:
parallel_function##_quark( \
arg1, \
arg2); \

Definition at line 895 of file global.h.

#define plasma_dynamic_call_3 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3 
)
Value:
parallel_function##_quark( \
arg1, \
arg2, \
arg3); \

Definition at line 904 of file global.h.

#define plasma_dynamic_call_4 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4 
)
Value:
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4); \

Definition at line 915 of file global.h.

#define plasma_dynamic_call_5 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5 
)
Value:
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5); \

Definition at line 928 of file global.h.

#define plasma_dynamic_call_6 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6 
)
Value:
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6); \

Definition at line 943 of file global.h.

#define plasma_dynamic_call_7 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7 
)
Value:
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6, \
arg7); \

Definition at line 960 of file global.h.

#define plasma_dynamic_call_8 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8 
)
Value:
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6, \
arg7, \
arg8); \

Definition at line 979 of file global.h.

#define plasma_dynamic_call_9 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8,
  type9,
  arg9 
)
Value:
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6, \
arg7, \
arg8, \
arg9);

Definition at line 1000 of file global.h.

#define plasma_dynamic_spawn ( )
Value:
{ \
if (!plasma->dynamic_section) { \
plasma->dynamic_section = PLASMA_TRUE; \
pthread_mutex_lock(&plasma->action_mutex); \
pthread_mutex_unlock(&plasma->action_mutex); \
pthread_cond_broadcast(&plasma->action_condt); \
plasma_barrier(plasma); \
} \
}

Start dynamically scheduled section

Definition at line 441 of file global.h.

#define plasma_dynamic_sync ( )
Value:
{ \
if (plasma->dynamic_section) { \
QUARK_Waitall(plasma->quark); \
plasma_barrier(plasma); \
plasma->dynamic_section = PLASMA_FALSE; \
} \
}

Sync after dynamically scheduled section

Definition at line 411 of file global.h.

#define PLASMA_FUNC_CGEBRD   64

Definition at line 121 of file global.h.

#define PLASMA_FUNC_CGEEV   56

Definition at line 113 of file global.h.

#define PLASMA_FUNC_CGEHRD   60

Definition at line 117 of file global.h.

#define PLASMA_FUNC_CGELS   7

Definition at line 64 of file global.h.

#define PLASMA_FUNC_CGEMM   21

Definition at line 78 of file global.h.

#define PLASMA_FUNC_CGESV   9

Definition at line 66 of file global.h.

#define PLASMA_FUNC_CGESVD   52

Definition at line 109 of file global.h.

#define PLASMA_FUNC_CHEEV   36

Definition at line 93 of file global.h.

#define PLASMA_FUNC_CHEGST   40

Definition at line 97 of file global.h.

#define PLASMA_FUNC_CHEGV   44

Definition at line 101 of file global.h.

#define PLASMA_FUNC_CHEMM   33

Definition at line 90 of file global.h.

#define PLASMA_FUNC_CHERK   27

Definition at line 84 of file global.h.

#define PLASMA_FUNC_CHETRD   48

Definition at line 105 of file global.h.

#define PLASMA_FUNC_CPOSV   8

Definition at line 65 of file global.h.

#define PLASMA_FUNC_CSYMM   25

Definition at line 82 of file global.h.

#define PLASMA_FUNC_CSYRK   31

Definition at line 88 of file global.h.

#define PLASMA_FUNC_DGEBRD   65

Definition at line 122 of file global.h.

#define PLASMA_FUNC_DGEEV   57

Definition at line 114 of file global.h.

#define PLASMA_FUNC_DGEHRD   61

Definition at line 118 of file global.h.

#define PLASMA_FUNC_DGELS   4

Definition at line 61 of file global.h.

#define PLASMA_FUNC_DGEMM   20

Definition at line 77 of file global.h.

#define PLASMA_FUNC_DGESV   6

Definition at line 63 of file global.h.

#define PLASMA_FUNC_DGESVD   53

Definition at line 110 of file global.h.

#define PLASMA_FUNC_DPOSV   5

Definition at line 62 of file global.h.

#define PLASMA_FUNC_DSGELS   17

Definition at line 74 of file global.h.

#define PLASMA_FUNC_DSGESV   14

Definition at line 71 of file global.h.

#define PLASMA_FUNC_DSPOSV   16

Definition at line 73 of file global.h.

#define PLASMA_FUNC_DSYEV   37

Definition at line 94 of file global.h.

#define PLASMA_FUNC_DSYGST   41

Definition at line 98 of file global.h.

#define PLASMA_FUNC_DSYGV   45

Definition at line 102 of file global.h.

#define PLASMA_FUNC_DSYMM   24

Definition at line 81 of file global.h.

#define PLASMA_FUNC_DSYRK   30

Definition at line 87 of file global.h.

#define PLASMA_FUNC_DSYTRD   49

Definition at line 106 of file global.h.

#define PLASMA_FUNC_SGEBRD   66

Definition at line 123 of file global.h.

#define PLASMA_FUNC_SGEEV   58

Definition at line 115 of file global.h.

#define PLASMA_FUNC_SGEHRD   62

Definition at line 119 of file global.h.

#define PLASMA_FUNC_SGELS   1

Numerical operations

Definition at line 58 of file global.h.

#define PLASMA_FUNC_SGEMM   19

Definition at line 76 of file global.h.

#define PLASMA_FUNC_SGESV   3

Definition at line 60 of file global.h.

#define PLASMA_FUNC_SGESVD   54

Definition at line 111 of file global.h.

#define PLASMA_FUNC_SPOSV   2

Definition at line 59 of file global.h.

#define PLASMA_FUNC_SSYEV   38

Definition at line 95 of file global.h.

#define PLASMA_FUNC_SSYGST   42

Definition at line 99 of file global.h.

#define PLASMA_FUNC_SSYGV   46

Definition at line 103 of file global.h.

#define PLASMA_FUNC_SSYMM   23

Definition at line 80 of file global.h.

#define PLASMA_FUNC_SSYRK   29

Definition at line 86 of file global.h.

#define PLASMA_FUNC_SSYTRD   50

Definition at line 107 of file global.h.

#define PLASMA_FUNC_ZCGELS   18

Definition at line 75 of file global.h.

#define PLASMA_FUNC_ZCGESV   13

Definition at line 70 of file global.h.

#define PLASMA_FUNC_ZCPOSV   15

Definition at line 72 of file global.h.

#define PLASMA_FUNC_ZGEBRD   63

Definition at line 120 of file global.h.

#define PLASMA_FUNC_ZGEEV   55

Definition at line 112 of file global.h.

#define PLASMA_FUNC_ZGEHRD   59

Definition at line 116 of file global.h.

#define PLASMA_FUNC_ZGELS   10

Definition at line 67 of file global.h.

#define PLASMA_FUNC_ZGEMM   22

Definition at line 79 of file global.h.

#define PLASMA_FUNC_ZGESV   12

Definition at line 69 of file global.h.

#define PLASMA_FUNC_ZGESVD   51

Definition at line 108 of file global.h.

#define PLASMA_FUNC_ZHEEV   35

Definition at line 92 of file global.h.

#define PLASMA_FUNC_ZHEGST   39

Definition at line 96 of file global.h.

#define PLASMA_FUNC_ZHEGV   43

Definition at line 100 of file global.h.

#define PLASMA_FUNC_ZHEMM   34

Definition at line 91 of file global.h.

#define PLASMA_FUNC_ZHERK   28

Definition at line 85 of file global.h.

#define PLASMA_FUNC_ZHETRD   47

Definition at line 104 of file global.h.

#define PLASMA_FUNC_ZPOSV   11

Definition at line 68 of file global.h.

#define PLASMA_FUNC_ZSYMM   26

Definition at line 83 of file global.h.

#define PLASMA_FUNC_ZSYRK   32

Definition at line 89 of file global.h.

#define plasma_pack_args_1 (   type1,
  arg1 
)
Value:
{ \
type1 var1 = (arg1); \
unsigned char *plasma_ptr = plasma->args_buff; \
if (sizeof(type1) > ARGS_BUFF_SIZE) \
plasma_fatal_error("plasma_pack_args_1", "arguments buffer too small"); \
memcpy(plasma_ptr, &var1, sizeof(type1)); plasma_ptr += sizeof(type1); \
}

Parallel function call - packing of arguments

Definition at line 128 of file global.h.

#define plasma_pack_args_10 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8,
  type9,
  arg9,
  type10,
  arg10 
)

Definition at line 362 of file global.h.

#define plasma_pack_args_2 (   type1,
  arg1,
  type2,
  arg2 
)
Value:
{ \
type1 var1 = (arg1); \
type2 var2 = (arg2); \
unsigned char *plasma_ptr = plasma->args_buff; \
if (sizeof(type1) + \
sizeof(type2) > ARGS_BUFF_SIZE) \
plasma_fatal_error("plasma_pack_args_2", "arguments buffer too small"); \
memcpy(plasma_ptr, &var1, sizeof(type1)); plasma_ptr += sizeof(type1); \
memcpy(plasma_ptr, &var2, sizeof(type2)); plasma_ptr += sizeof(type2); \
}

Definition at line 138 of file global.h.

#define plasma_pack_args_3 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3 
)
Value:
{ \
type1 var1 = (arg1); \
type2 var2 = (arg2); \
type3 var3 = (arg3); \
unsigned char *plasma_ptr = plasma->args_buff; \
if (sizeof(type1) + \
sizeof(type2) + \
sizeof(type3) > ARGS_BUFF_SIZE) \
plasma_fatal_error("plasma_pack_args_3", "arguments buffer too small"); \
memcpy(plasma_ptr, &var1, sizeof(type1)); plasma_ptr += sizeof(type1); \
memcpy(plasma_ptr, &var2, sizeof(type2)); plasma_ptr += sizeof(type2); \
memcpy(plasma_ptr, &var3, sizeof(type3)); plasma_ptr += sizeof(type3); \
}

Definition at line 152 of file global.h.

#define plasma_pack_args_4 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4 
)
Value:
{ \
type1 var1 = (arg1); \
type2 var2 = (arg2); \
type3 var3 = (arg3); \
type4 var4 = (arg4); \
unsigned char *plasma_ptr = plasma->args_buff; \
if (sizeof(type1) + \
sizeof(type2) + \
sizeof(type3) + \
sizeof(type4) > ARGS_BUFF_SIZE) \
plasma_fatal_error("plasma_pack_args_4", "arguments buffer too small"); \
memcpy(plasma_ptr, &var1, sizeof(type1)); plasma_ptr += sizeof(type1); \
memcpy(plasma_ptr, &var2, sizeof(type2)); plasma_ptr += sizeof(type2); \
memcpy(plasma_ptr, &var3, sizeof(type3)); plasma_ptr += sizeof(type3); \
memcpy(plasma_ptr, &var4, sizeof(type4)); plasma_ptr += sizeof(type4); \
}

Definition at line 170 of file global.h.

#define plasma_pack_args_5 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5 
)
Value:
{ \
type1 var1 = (arg1); \
type2 var2 = (arg2); \
type3 var3 = (arg3); \
type4 var4 = (arg4); \
type5 var5 = (arg5); \
unsigned char *plasma_ptr = plasma->args_buff; \
if (sizeof(type1) + \
sizeof(type2) + \
sizeof(type3) + \
sizeof(type4) + \
sizeof(type5) > ARGS_BUFF_SIZE) \
plasma_fatal_error("plasma_pack_args_5", "arguments buffer too small"); \
memcpy(plasma_ptr, &var1, sizeof(type1)); plasma_ptr += sizeof(type1); \
memcpy(plasma_ptr, &var2, sizeof(type2)); plasma_ptr += sizeof(type2); \
memcpy(plasma_ptr, &var3, sizeof(type3)); plasma_ptr += sizeof(type3); \
memcpy(plasma_ptr, &var4, sizeof(type4)); plasma_ptr += sizeof(type4); \
memcpy(plasma_ptr, &var5, sizeof(type5)); plasma_ptr += sizeof(type5); \
}

Definition at line 192 of file global.h.

#define plasma_pack_args_6 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6 
)
Value:
{ \
type1 var1 = (arg1); \
type2 var2 = (arg2); \
type3 var3 = (arg3); \
type4 var4 = (arg4); \
type5 var5 = (arg5); \
type6 var6 = (arg6); \
unsigned char *plasma_ptr = plasma->args_buff; \
if (sizeof(type1) + \
sizeof(type2) + \
sizeof(type3) + \
sizeof(type4) + \
sizeof(type5) + \
sizeof(type6) > ARGS_BUFF_SIZE) \
plasma_fatal_error("plasma_pack_args_6", "arguments buffer too small"); \
memcpy(plasma_ptr, &var1, sizeof(type1)); plasma_ptr += sizeof(type1); \
memcpy(plasma_ptr, &var2, sizeof(type2)); plasma_ptr += sizeof(type2); \
memcpy(plasma_ptr, &var3, sizeof(type3)); plasma_ptr += sizeof(type3); \
memcpy(plasma_ptr, &var4, sizeof(type4)); plasma_ptr += sizeof(type4); \
memcpy(plasma_ptr, &var5, sizeof(type5)); plasma_ptr += sizeof(type5); \
memcpy(plasma_ptr, &var6, sizeof(type6)); plasma_ptr += sizeof(type6); \
}

Definition at line 218 of file global.h.

#define plasma_pack_args_7 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7 
)
Value:
{ \
type1 var1 = (arg1); \
type2 var2 = (arg2); \
type3 var3 = (arg3); \
type4 var4 = (arg4); \
type5 var5 = (arg5); \
type6 var6 = (arg6); \
type7 var7 = (arg7); \
unsigned char *plasma_ptr = plasma->args_buff; \
if (sizeof(type1) + \
sizeof(type2) + \
sizeof(type3) + \
sizeof(type4) + \
sizeof(type5) + \
sizeof(type6) + \
sizeof(type7) > ARGS_BUFF_SIZE) \
plasma_fatal_error("plasma_pack_args_7", "arguments buffer too small"); \
memcpy(plasma_ptr, &var1, sizeof(type1)); plasma_ptr += sizeof(type1); \
memcpy(plasma_ptr, &var2, sizeof(type2)); plasma_ptr += sizeof(type2); \
memcpy(plasma_ptr, &var3, sizeof(type3)); plasma_ptr += sizeof(type3); \
memcpy(plasma_ptr, &var4, sizeof(type4)); plasma_ptr += sizeof(type4); \
memcpy(plasma_ptr, &var5, sizeof(type5)); plasma_ptr += sizeof(type5); \
memcpy(plasma_ptr, &var6, sizeof(type6)); plasma_ptr += sizeof(type6); \
memcpy(plasma_ptr, &var7, sizeof(type7)); plasma_ptr += sizeof(type7); \
}

Definition at line 248 of file global.h.

#define plasma_pack_args_8 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8 
)
Value:
{ \
type1 var1 = (arg1); \
type2 var2 = (arg2); \
type3 var3 = (arg3); \
type4 var4 = (arg4); \
type5 var5 = (arg5); \
type6 var6 = (arg6); \
type7 var7 = (arg7); \
type8 var8 = (arg8); \
unsigned char *plasma_ptr = plasma->args_buff; \
if (sizeof(type1) + \
sizeof(type2) + \
sizeof(type3) + \
sizeof(type4) + \
sizeof(type5) + \
sizeof(type6) + \
sizeof(type7) + \
sizeof(type8) > ARGS_BUFF_SIZE) \
plasma_fatal_error("plasma_pack_args_8", "arguments buffer too small"); \
memcpy(plasma_ptr, &var1, sizeof(type1)); plasma_ptr += sizeof(type1); \
memcpy(plasma_ptr, &var2, sizeof(type2)); plasma_ptr += sizeof(type2); \
memcpy(plasma_ptr, &var3, sizeof(type3)); plasma_ptr += sizeof(type3); \
memcpy(plasma_ptr, &var4, sizeof(type4)); plasma_ptr += sizeof(type4); \
memcpy(plasma_ptr, &var5, sizeof(type5)); plasma_ptr += sizeof(type5); \
memcpy(plasma_ptr, &var6, sizeof(type6)); plasma_ptr += sizeof(type6); \
memcpy(plasma_ptr, &var7, sizeof(type7)); plasma_ptr += sizeof(type7); \
memcpy(plasma_ptr, &var8, sizeof(type8)); plasma_ptr += sizeof(type8); \
}

Definition at line 282 of file global.h.

#define plasma_pack_args_9 (   type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8,
  type9,
  arg9 
)

Definition at line 320 of file global.h.

#define plasma_parallel_call_1 (   parallel_function,
  type1,
  arg1 
)
Value:
plasma_pack_args_1( \
type1, (arg1)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1); \
}

Parallel call for functions with both static and dynamic versions

Definition at line 620 of file global.h.

#define plasma_parallel_call_10 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8,
  type9,
  arg9,
  type10,
  arg10 
)
Value:
plasma_pack_args_10( \
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6), \
type7, (arg7), \
type8, (arg8), \
type9, (arg9), \
type10, (arg10)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6, \
arg7, \
arg8, \
arg9, \
arg10); \
}

Definition at line 845 of file global.h.

#define plasma_parallel_call_2 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2 
)
Value:
plasma_pack_args_2( \
type1, (arg1), \
type2, (arg2)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2); \
}

Definition at line 633 of file global.h.

#define plasma_parallel_call_3 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3 
)
Value:
plasma_pack_args_3( \
type1, (arg1), \
type2, (arg2), \
type3, (arg3)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2, \
arg3); \
}

Definition at line 649 of file global.h.

#define plasma_parallel_call_4 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4 
)
Value:
plasma_pack_args_4( \
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4); \
}

Definition at line 668 of file global.h.

#define plasma_parallel_call_5 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5 
)
Value:
plasma_pack_args_5( \
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5); \
}

Definition at line 690 of file global.h.

#define plasma_parallel_call_6 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6 
)
Value:
plasma_pack_args_6( \
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6); \
}

Definition at line 715 of file global.h.

#define plasma_parallel_call_7 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7 
)
Value:
plasma_pack_args_7( \
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6), \
type7, (arg7)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6, \
arg7); \
}

Definition at line 743 of file global.h.

#define plasma_parallel_call_8 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8 
)
Value:
plasma_pack_args_8( \
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6), \
type7, (arg7), \
type8, (arg8)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6, \
arg7, \
arg8); \
}

Definition at line 774 of file global.h.

#define plasma_parallel_call_9 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8,
  type9,
  arg9 
)
Value:
plasma_pack_args_9( \
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6), \
type7, (arg7), \
type8, (arg8), \
type9, (arg9)) \
plasma_static_call(parallel_function) \
} else { \
plasma_dynamic_spawn(); \
parallel_function##_quark( \
arg1, \
arg2, \
arg3, \
arg4, \
arg5, \
arg6, \
arg7, \
arg8, \
arg9); \
}

Definition at line 808 of file global.h.

#define plasma_static_call (   parallel_function)
Value:
{ \
if (plasma->dynamic_section) \
plasma_dynamic_sync(); \
pthread_mutex_lock(&plasma->action_mutex); \
plasma->parallel_func_ptr = &parallel_function; \
pthread_mutex_unlock(&plasma->action_mutex); \
pthread_cond_broadcast(&plasma->action_condt); \
plasma_barrier(plasma); \
parallel_function(plasma); \
plasma_barrier(plasma); \
}

Parallel SPMD function call - thread control

Definition at line 423 of file global.h.

#define plasma_static_call_1 (   parallel_function,
  type1,
  arg1 
)
Value:
type1, (arg1)) \
plasma_static_call(parallel_function) \

Parallel call for functions with static versions only

Definition at line 457 of file global.h.

#define plasma_static_call_10 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8,
  type9,
  arg9,
  type10,
  arg10 
)
Value:
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6), \
type7, (arg7), \
type8, (arg8), \
type9, (arg9), \
type10, (arg10)) \
plasma_static_call(parallel_function) \

Definition at line 592 of file global.h.

#define plasma_static_call_2 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2 
)
Value:
type1, (arg1), \
type2, (arg2)) \
plasma_static_call(parallel_function) \

Definition at line 464 of file global.h.

#define plasma_static_call_3 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3 
)
Value:
type1, (arg1), \
type2, (arg2), \
type3, (arg3)) \
plasma_static_call(parallel_function) \

Definition at line 473 of file global.h.

#define plasma_static_call_4 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4 
)
Value:
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4)) \
plasma_static_call(parallel_function) \

Definition at line 484 of file global.h.

#define plasma_static_call_5 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5 
)
Value:
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5)) \
plasma_static_call(parallel_function) \

Definition at line 497 of file global.h.

#define plasma_static_call_6 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6 
)
Value:
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6)) \
plasma_static_call(parallel_function) \

Definition at line 512 of file global.h.

#define plasma_static_call_7 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7 
)
Value:
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6), \
type7, (arg7)) \
plasma_static_call(parallel_function) \

Definition at line 529 of file global.h.

#define plasma_static_call_8 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8 
)
Value:
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6), \
type7, (arg7), \
type8, (arg8)) \
plasma_static_call(parallel_function) \

Definition at line 548 of file global.h.

#define plasma_static_call_9 (   parallel_function,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6,
  type7,
  arg7,
  type8,
  arg8,
  type9,
  arg9 
)
Value:
type1, (arg1), \
type2, (arg2), \
type3, (arg3), \
type4, (arg4), \
type5, (arg5), \
type6, (arg6), \
type7, (arg7), \
type8, (arg8), \
type9, (arg9)) \
plasma_static_call(parallel_function) \

Definition at line 569 of file global.h.

#define plasma_unpack_args_1 (   arg1)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
}

Parallel function call - unpacking of arguments

Definition at line 1051 of file global.h.

#define plasma_unpack_args_10 (   arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8,
  arg9,
  arg10 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
memcpy(&arg3, plasma_ptr, sizeof(arg3)); plasma_ptr += sizeof(arg3); \
memcpy(&arg4, plasma_ptr, sizeof(arg4)); plasma_ptr += sizeof(arg4); \
memcpy(&arg5, plasma_ptr, sizeof(arg5)); plasma_ptr += sizeof(arg5); \
memcpy(&arg6, plasma_ptr, sizeof(arg6)); plasma_ptr += sizeof(arg6); \
memcpy(&arg7, plasma_ptr, sizeof(arg7)); plasma_ptr += sizeof(arg7); \
memcpy(&arg8, plasma_ptr, sizeof(arg8)); plasma_ptr += sizeof(arg8); \
memcpy(&arg9, plasma_ptr, sizeof(arg9)); plasma_ptr += sizeof(arg9); \
memcpy(&arg10, plasma_ptr, sizeof(arg10)); plasma_ptr += sizeof(arg10); \
}

Definition at line 1186 of file global.h.

#define plasma_unpack_args_2 (   arg1,
  arg2 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
}

Definition at line 1058 of file global.h.

#define plasma_unpack_args_3 (   arg1,
  arg2,
  arg3 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
memcpy(&arg3, plasma_ptr, sizeof(arg3)); plasma_ptr += sizeof(arg3); \
}

Definition at line 1067 of file global.h.

#define plasma_unpack_args_4 (   arg1,
  arg2,
  arg3,
  arg4 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
memcpy(&arg3, plasma_ptr, sizeof(arg3)); plasma_ptr += sizeof(arg3); \
memcpy(&arg4, plasma_ptr, sizeof(arg4)); plasma_ptr += sizeof(arg4); \
}

Definition at line 1078 of file global.h.

#define plasma_unpack_args_5 (   arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
memcpy(&arg3, plasma_ptr, sizeof(arg3)); plasma_ptr += sizeof(arg3); \
memcpy(&arg4, plasma_ptr, sizeof(arg4)); plasma_ptr += sizeof(arg4); \
memcpy(&arg5, plasma_ptr, sizeof(arg5)); plasma_ptr += sizeof(arg5); \
}

Definition at line 1091 of file global.h.

#define plasma_unpack_args_6 (   arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
memcpy(&arg3, plasma_ptr, sizeof(arg3)); plasma_ptr += sizeof(arg3); \
memcpy(&arg4, plasma_ptr, sizeof(arg4)); plasma_ptr += sizeof(arg4); \
memcpy(&arg5, plasma_ptr, sizeof(arg5)); plasma_ptr += sizeof(arg5); \
memcpy(&arg6, plasma_ptr, sizeof(arg6)); plasma_ptr += sizeof(arg6); \
}

Definition at line 1106 of file global.h.

#define plasma_unpack_args_7 (   arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
memcpy(&arg3, plasma_ptr, sizeof(arg3)); plasma_ptr += sizeof(arg3); \
memcpy(&arg4, plasma_ptr, sizeof(arg4)); plasma_ptr += sizeof(arg4); \
memcpy(&arg5, plasma_ptr, sizeof(arg5)); plasma_ptr += sizeof(arg5); \
memcpy(&arg6, plasma_ptr, sizeof(arg6)); plasma_ptr += sizeof(arg6); \
memcpy(&arg7, plasma_ptr, sizeof(arg7)); plasma_ptr += sizeof(arg7); \
}

Definition at line 1123 of file global.h.

#define plasma_unpack_args_8 (   arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
memcpy(&arg3, plasma_ptr, sizeof(arg3)); plasma_ptr += sizeof(arg3); \
memcpy(&arg4, plasma_ptr, sizeof(arg4)); plasma_ptr += sizeof(arg4); \
memcpy(&arg5, plasma_ptr, sizeof(arg5)); plasma_ptr += sizeof(arg5); \
memcpy(&arg6, plasma_ptr, sizeof(arg6)); plasma_ptr += sizeof(arg6); \
memcpy(&arg7, plasma_ptr, sizeof(arg7)); plasma_ptr += sizeof(arg7); \
memcpy(&arg8, plasma_ptr, sizeof(arg8)); plasma_ptr += sizeof(arg8); \
}

Definition at line 1142 of file global.h.

#define plasma_unpack_args_9 (   arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8,
  arg9 
)
Value:
{ \
unsigned char *plasma_ptr = plasma->args_buff; \
memcpy(&arg1, plasma_ptr, sizeof(arg1)); plasma_ptr += sizeof(arg1); \
memcpy(&arg2, plasma_ptr, sizeof(arg2)); plasma_ptr += sizeof(arg2); \
memcpy(&arg3, plasma_ptr, sizeof(arg3)); plasma_ptr += sizeof(arg3); \
memcpy(&arg4, plasma_ptr, sizeof(arg4)); plasma_ptr += sizeof(arg4); \
memcpy(&arg5, plasma_ptr, sizeof(arg5)); plasma_ptr += sizeof(arg5); \
memcpy(&arg6, plasma_ptr, sizeof(arg6)); plasma_ptr += sizeof(arg6); \
memcpy(&arg7, plasma_ptr, sizeof(arg7)); plasma_ptr += sizeof(arg7); \
memcpy(&arg8, plasma_ptr, sizeof(arg8)); plasma_ptr += sizeof(arg8); \
memcpy(&arg9, plasma_ptr, sizeof(arg9)); plasma_ptr += sizeof(arg9); \
}

Definition at line 1163 of file global.h.

#define STANDARD_PAGE_SIZE   4096

Definition at line 45 of file global.h.