@@ -15,12 +15,12 @@ typedef uint64_t GrB_Index;
15
15
/* GxB typedefs */
16
16
typedef double _Complex GxB_FC64_t ;
17
17
typedef float _Complex GxB_FC32_t ;
18
+ typedef struct GB_Context_opaque * GxB_Context ;
18
19
typedef struct GB_Iterator_opaque * GxB_Iterator ;
19
20
typedef struct GB_Scalar_opaque * GxB_Scalar ;
20
21
typedef struct GB_SelectOp_opaque * GxB_SelectOp ;
21
22
22
23
/* GxB typedefs (functions) */
23
- typedef bool (* GxB_select_function )(GrB_Index i , GrB_Index j , const void * x , const void * thunk );
24
24
typedef void (* GxB_binary_function )(void * , const void * , const void * );
25
25
typedef void (* GxB_index_unary_function )(void * z , const void * x , GrB_Index i , GrB_Index j , const void * y );
26
26
typedef void (* GxB_unary_function )(void * , const void * );
@@ -32,14 +32,10 @@ typedef enum
32
32
GrB_MASK = 1 ,
33
33
GrB_INP0 = 2 ,
34
34
GrB_INP1 = 3 ,
35
- GxB_DESCRIPTOR_NTHREADS = 5 ,
36
- GxB_DESCRIPTOR_CHUNK = 7 ,
37
- GxB_DESCRIPTOR_GPU_CONTROL = 21 ,
38
- GxB_DESCRIPTOR_GPU_CHUNK = 22 ,
39
- GxB_AxB_METHOD = 1000 ,
40
- GxB_SORT = 35 ,
41
- GxB_COMPRESSION = 36 ,
42
- GxB_IMPORT = 37
35
+ GxB_AxB_METHOD = 7090 ,
36
+ GxB_SORT = 7091 ,
37
+ GxB_COMPRESSION = 7092 ,
38
+ GxB_IMPORT = 7093
43
39
} GrB_Desc_Field ;
44
40
45
41
typedef enum
@@ -49,13 +45,11 @@ typedef enum
49
45
GrB_COMP = 2 ,
50
46
GrB_STRUCTURE = 4 ,
51
47
GrB_TRAN = 3 ,
52
- GxB_GPU_ALWAYS = 2001 ,
53
- GxB_GPU_NEVER = 2002 ,
54
- GxB_AxB_GUSTAVSON = 1001 ,
55
- GxB_AxB_DOT = 1003 ,
56
- GxB_AxB_HASH = 1004 ,
57
- GxB_AxB_SAXPY = 1005 ,
58
- GxB_SECURE_IMPORT = 502
48
+ GxB_AxB_GUSTAVSON = 7081 ,
49
+ GxB_AxB_DOT = 7083 ,
50
+ GxB_AxB_HASH = 7084 ,
51
+ GxB_AxB_SAXPY = 7085 ,
52
+ GxB_SECURE_IMPORT = 7080
59
53
} GrB_Desc_Value ;
60
54
61
55
typedef enum
@@ -69,7 +63,7 @@ typedef enum
69
63
{
70
64
GrB_SUCCESS = 0 ,
71
65
GrB_NO_VALUE = 1 ,
72
- GxB_EXHAUSTED = 2 ,
66
+ GxB_EXHAUSTED = 7089 ,
73
67
GrB_UNINITIALIZED_OBJECT = -1 ,
74
68
GrB_NULL_POINTER = -2 ,
75
69
GrB_INVALID_VALUE = -3 ,
@@ -90,8 +84,8 @@ typedef enum
90
84
{
91
85
GrB_NONBLOCKING = 0 ,
92
86
GrB_BLOCKING = 1 ,
93
- GxB_NONBLOCKING_GPU = 2 ,
94
- GxB_BLOCKING_GPU = 3
87
+ GxB_NONBLOCKING_GPU = 7099 ,
88
+ GxB_BLOCKING_GPU = 7098
95
89
} GrB_Mode ;
96
90
97
91
typedef enum
@@ -101,6 +95,13 @@ typedef enum
101
95
} GrB_WaitMode ;
102
96
103
97
/* GxB enums */
98
+ typedef enum
99
+ {
100
+ GxB_CONTEXT_NTHREADS = 7086 ,
101
+ GxB_CONTEXT_CHUNK = 7087 ,
102
+ GxB_CONTEXT_GPU_ID = 7088
103
+ } GxB_Context_Field ;
104
+
104
105
typedef enum
105
106
{
106
107
GxB_BY_ROW = 0 ,
@@ -110,36 +111,58 @@ typedef enum
110
111
111
112
typedef enum
112
113
{
113
- GxB_HYPER_SWITCH = 0 ,
114
- GxB_BITMAP_SWITCH = 34 ,
115
- GxB_FORMAT = 1 ,
116
- GxB_MODE = 2 ,
117
- GxB_LIBRARY_NAME = 8 ,
118
- GxB_LIBRARY_VERSION = 9 ,
119
- GxB_LIBRARY_DATE = 10 ,
120
- GxB_LIBRARY_ABOUT = 11 ,
121
- GxB_LIBRARY_URL = 12 ,
122
- GxB_LIBRARY_LICENSE = 13 ,
123
- GxB_LIBRARY_COMPILE_DATE = 14 ,
124
- GxB_LIBRARY_COMPILE_TIME = 15 ,
125
- GxB_API_VERSION = 16 ,
126
- GxB_API_DATE = 17 ,
127
- GxB_API_ABOUT = 18 ,
128
- GxB_API_URL = 19 ,
129
- GxB_COMPILER_VERSION = 23 ,
130
- GxB_COMPILER_NAME = 24 ,
131
- GxB_LIBRARY_OPENMP = 25 ,
132
- GxB_GLOBAL_NTHREADS = 5 ,
133
- GxB_GLOBAL_CHUNK = 7 ,
134
- GxB_BURBLE = 99 ,
135
- GxB_PRINTF = 101 ,
136
- GxB_FLUSH = 102 ,
137
- GxB_MEMORY_POOL = 103 ,
138
- GxB_PRINT_1BASED = 104 ,
139
- GxB_SPARSITY_STATUS = 33 ,
140
- GxB_SPARSITY_CONTROL = 32 ,
141
- GxB_GLOBAL_GPU_CONTROL = 21 ,
142
- GxB_GLOBAL_GPU_CHUNK = 22
114
+ GxB_JIT_OFF = 0 ,
115
+ GxB_JIT_PAUSE = 1 ,
116
+ GxB_JIT_RUN = 2 ,
117
+ GxB_JIT_LOAD = 3 ,
118
+ GxB_JIT_ON = 4
119
+ } GxB_JIT_Control ;
120
+
121
+ typedef enum
122
+ {
123
+ GxB_HYPER_SWITCH = 7000 ,
124
+ GxB_BITMAP_SWITCH = 7001 ,
125
+ GxB_FORMAT = 7002 ,
126
+ GxB_MODE = 7003 ,
127
+ GxB_LIBRARY_NAME = 7004 ,
128
+ GxB_LIBRARY_VERSION = 7005 ,
129
+ GxB_LIBRARY_DATE = 7006 ,
130
+ GxB_LIBRARY_ABOUT = 7007 ,
131
+ GxB_LIBRARY_URL = 7008 ,
132
+ GxB_LIBRARY_LICENSE = 7009 ,
133
+ GxB_LIBRARY_COMPILE_DATE = 7010 ,
134
+ GxB_LIBRARY_COMPILE_TIME = 7011 ,
135
+ GxB_API_VERSION = 7012 ,
136
+ GxB_API_DATE = 7013 ,
137
+ GxB_API_ABOUT = 7014 ,
138
+ GxB_API_URL = 7015 ,
139
+ GxB_COMPILER_VERSION = 7016 ,
140
+ GxB_COMPILER_NAME = 7017 ,
141
+ GxB_LIBRARY_OPENMP = 7018 ,
142
+ GxB_GLOBAL_NTHREADS = 7086 ,
143
+ GxB_GLOBAL_CHUNK = 7087 ,
144
+ GxB_GLOBAL_GPU_ID = 7088 ,
145
+ GxB_BURBLE = 7019 ,
146
+ GxB_PRINTF = 7020 ,
147
+ GxB_FLUSH = 7021 ,
148
+ GxB_MEMORY_POOL = 7022 ,
149
+ GxB_PRINT_1BASED = 7023 ,
150
+ GxB_JIT_C_COMPILER_NAME = 7024 ,
151
+ GxB_JIT_C_COMPILER_FLAGS = 7025 ,
152
+ GxB_JIT_C_LINKER_FLAGS = 7026 ,
153
+ GxB_JIT_C_LIBRARIES = 7027 ,
154
+ GxB_JIT_C_PREFACE = 7028 ,
155
+ GxB_JIT_C_CONTROL = 7029 ,
156
+ GxB_JIT_CACHE_PATH = 7030 ,
157
+ GxB_JIT_C_CMAKE_LIBS = 7031 ,
158
+ GxB_JIT_USE_CMAKE = 7032 ,
159
+ GxB_JIT_ERROR_LOG = 7033 ,
160
+ GxB_SPARSITY_STATUS = 7034 ,
161
+ GxB_SPARSITY_CONTROL = 7036 ,
162
+ GxB_MALLOC_FUNCTION = 7037 ,
163
+ GxB_CALLOC_FUNCTION = 7038 ,
164
+ GxB_REALLOC_FUNCTION = 7039 ,
165
+ GxB_FREE_FUNCTION = 7040
143
166
} GxB_Option_Field ;
144
167
145
168
typedef enum
@@ -2603,6 +2626,7 @@ extern GrB_UnaryOp GxB_TRUNC_FP32;
2603
2626
extern GrB_UnaryOp GxB_TRUNC_FP64 ;
2604
2627
2605
2628
/* GxB objects */
2629
+ extern GxB_Context GxB_CONTEXT_WORLD ;
2606
2630
extern GxB_SelectOp GxB_DIAG ;
2607
2631
extern GxB_SelectOp GxB_EQ_THUNK ;
2608
2632
extern GxB_SelectOp GxB_EQ_ZERO ;
@@ -3063,9 +3087,6 @@ GrB_Info GrB_Vector_wait(GrB_Vector v, GrB_WaitMode waitmode);
3063
3087
* GB functions *
3064
3088
***************/
3065
3089
3066
- /* binary */
3067
- GrB_Info GB_BinaryOp_new (GrB_BinaryOp * binaryop , GxB_binary_function function , GrB_Type ztype , GrB_Type xtype , GrB_Type ytype , const char * binop_name );
3068
-
3069
3090
/* iterator */
3070
3091
GrB_Info GB_Iterator_rc_bitmap_next (GxB_Iterator iterator );
3071
3092
GrB_Info GB_Iterator_rc_seek (GxB_Iterator iterator , GrB_Index j , bool jth_vector );
@@ -3074,15 +3095,6 @@ GrB_Info GB_Vector_Iterator_bitmap_seek(GxB_Iterator iterator, GrB_Index unused)
3074
3095
/* matrix */
3075
3096
GrB_Info GB_Iterator_attach (GxB_Iterator iterator , GrB_Matrix A , GxB_Format_Value format , GrB_Descriptor desc );
3076
3097
3077
- /* selectop */
3078
- GrB_Info GB_SelectOp_new (GxB_SelectOp * selectop , GxB_select_function function , GrB_Type xtype , GrB_Type ttype , const char * name );
3079
-
3080
- /* type */
3081
- GrB_Info GB_Type_new (GrB_Type * type , size_t sizeof_ctype , const char * type_name );
3082
-
3083
- /* unary */
3084
- GrB_Info GB_UnaryOp_new (GrB_UnaryOp * unaryop , GxB_unary_function function , GrB_Type ztype , GrB_Type xtype , const char * unop_name );
3085
-
3086
3098
/****************
3087
3099
* GxB functions *
3088
3100
****************/
@@ -3097,14 +3109,28 @@ GrB_Info GxB_BinaryOp_ytype_name(char *type_name, const GrB_BinaryOp binaryop);
3097
3109
GrB_Info GxB_BinaryOp_ztype (GrB_Type * ztype , GrB_BinaryOp binaryop );
3098
3110
GrB_Info GxB_BinaryOp_ztype_name (char * type_name , const GrB_BinaryOp binaryop );
3099
3111
3112
+ /* context */
3113
+ GrB_Info GxB_Context_disengage (GxB_Context Context );
3114
+ GrB_Info GxB_Context_engage (GxB_Context Context );
3115
+ GrB_Info GxB_Context_fprint (GxB_Context Context , const char * name , GxB_Print_Level pr , FILE * f );
3116
+ GrB_Info GxB_Context_free (GxB_Context * Context );
3117
+ GrB_Info GxB_Context_get (GxB_Context Context , GxB_Context_Field field , ...);
3118
+ GrB_Info GxB_Context_get_FP64 (GxB_Context Context , GxB_Context_Field field , double * value );
3119
+ GrB_Info GxB_Context_get_INT32 (GxB_Context Context , GxB_Context_Field field , int32_t * value );
3120
+ GrB_Info GxB_Context_new (GxB_Context * Context );
3121
+ GrB_Info GxB_Context_set (GxB_Context Context , GxB_Context_Field field , ...);
3122
+ GrB_Info GxB_Context_set_FP64 (GxB_Context Context , GxB_Context_Field field , double value );
3123
+ GrB_Info GxB_Context_set_INT32 (GxB_Context Context , GxB_Context_Field field , int32_t value );
3124
+
3100
3125
/* core */
3101
3126
GrB_Info GxB_Global_Option_get (GxB_Option_Field field , ...);
3102
- GrB_Info GxB_Global_Option_get_CHAR (GxB_Option_Field field , char * * value );
3127
+ GrB_Info GxB_Global_Option_get_CHAR (GxB_Option_Field field , const char * * value );
3103
3128
GrB_Info GxB_Global_Option_get_FP64 (GxB_Option_Field field , double * value );
3104
3129
GrB_Info GxB_Global_Option_get_FUNCTION (GxB_Option_Field field , void * * value );
3105
3130
GrB_Info GxB_Global_Option_get_INT32 (GxB_Option_Field field , int32_t * value );
3106
3131
GrB_Info GxB_Global_Option_get_INT64 (GxB_Option_Field field , int64_t * value );
3107
3132
GrB_Info GxB_Global_Option_set (GxB_Option_Field field , ...);
3133
+ GrB_Info GxB_Global_Option_set_CHAR (GxB_Option_Field field , const char * value );
3108
3134
GrB_Info GxB_Global_Option_set_FP64 (GxB_Option_Field field , double value );
3109
3135
GrB_Info GxB_Global_Option_set_FP64_ARRAY (GxB_Option_Field field , double * value );
3110
3136
GrB_Info GxB_Global_Option_set_FUNCTION (GxB_Option_Field field , void * value );
@@ -3343,12 +3369,8 @@ GrB_Info GxB_Scalar_type_name(char *type_name, const GrB_Scalar s);
3343
3369
GrB_Info GxB_Scalar_wait (GrB_Scalar * s );
3344
3370
3345
3371
/* selectop */
3346
- GrB_Info GxB_SelectOp_error (const char * * error , const GxB_SelectOp op );
3347
- GrB_Info GxB_SelectOp_fprint (GxB_SelectOp selectop , const char * name , GxB_Print_Level pr , FILE * f );
3348
- GrB_Info GxB_SelectOp_free (GxB_SelectOp * selectop );
3349
- GrB_Info GxB_SelectOp_new (GxB_SelectOp * selectop , GxB_select_function function , GrB_Type xtype , GrB_Type ttype );
3372
+ GrB_Info GxB_SelectOp_fprint (GxB_SelectOp op , const char * name , GxB_Print_Level pr , FILE * f );
3350
3373
GrB_Info GxB_SelectOp_ttype (GrB_Type * ttype , GxB_SelectOp selectop );
3351
- GrB_Info GxB_SelectOp_wait (GxB_SelectOp op , GrB_WaitMode waitmode );
3352
3374
GrB_Info GxB_SelectOp_xtype (GrB_Type * xtype , GxB_SelectOp selectop );
3353
3375
3354
3376
/* semiring */
@@ -3453,16 +3475,14 @@ GrB_Info GxB_Vector_unpack_Full(GrB_Vector v, void **vx, GrB_Index *vx_size, boo
3453
3475
#define GxB_BITMAP ...
3454
3476
#define GxB_CHUNK ...
3455
3477
#define GxB_COMPRESSION_DEFAULT ...
3456
- #define GxB_COMPRESSION_INTEL ...
3457
3478
#define GxB_COMPRESSION_LZ4 ...
3458
3479
#define GxB_COMPRESSION_LZ4HC ...
3459
3480
#define GxB_COMPRESSION_NONE ...
3460
3481
#define GxB_COMPRESSION_ZSTD ...
3461
3482
#define GxB_END ...
3462
3483
#define GxB_FAST_IMPORT ...
3463
3484
#define GxB_FULL ...
3464
- #define GxB_GPU_CHUNK ...
3465
- #define GxB_GPU_CONTROL ...
3485
+ #define GxB_GPU_ID ...
3466
3486
#define GxB_HYPERSPARSE ...
3467
3487
#define GxB_IMPLEMENTATION ...
3468
3488
#define GxB_IMPLEMENTATION_MAJOR ...
0 commit comments