@@ -15,12 +15,12 @@ typedef uint64_t GrB_Index;
1515/* GxB typedefs */
1616typedef double _Complex GxB_FC64_t ;
1717typedef float _Complex GxB_FC32_t ;
18+ typedef struct GB_Context_opaque * GxB_Context ;
1819typedef struct GB_Iterator_opaque * GxB_Iterator ;
1920typedef struct GB_Scalar_opaque * GxB_Scalar ;
2021typedef struct GB_SelectOp_opaque * GxB_SelectOp ;
2122
2223/* GxB typedefs (functions) */
23- typedef bool (* GxB_select_function )(GrB_Index i , GrB_Index j , const void * x , const void * thunk );
2424typedef void (* GxB_binary_function )(void * , const void * , const void * );
2525typedef void (* GxB_index_unary_function )(void * z , const void * x , GrB_Index i , GrB_Index j , const void * y );
2626typedef void (* GxB_unary_function )(void * , const void * );
@@ -32,14 +32,10 @@ typedef enum
3232 GrB_MASK = 1 ,
3333 GrB_INP0 = 2 ,
3434 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
4339} GrB_Desc_Field ;
4440
4541typedef enum
@@ -49,13 +45,11 @@ typedef enum
4945 GrB_COMP = 2 ,
5046 GrB_STRUCTURE = 4 ,
5147 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
5953} GrB_Desc_Value ;
6054
6155typedef enum
@@ -69,7 +63,7 @@ typedef enum
6963{
7064 GrB_SUCCESS = 0 ,
7165 GrB_NO_VALUE = 1 ,
72- GxB_EXHAUSTED = 2 ,
66+ GxB_EXHAUSTED = 7089 ,
7367 GrB_UNINITIALIZED_OBJECT = -1 ,
7468 GrB_NULL_POINTER = -2 ,
7569 GrB_INVALID_VALUE = -3 ,
@@ -90,8 +84,8 @@ typedef enum
9084{
9185 GrB_NONBLOCKING = 0 ,
9286 GrB_BLOCKING = 1 ,
93- GxB_NONBLOCKING_GPU = 2 ,
94- GxB_BLOCKING_GPU = 3
87+ GxB_NONBLOCKING_GPU = 7099 ,
88+ GxB_BLOCKING_GPU = 7098
9589} GrB_Mode ;
9690
9791typedef enum
@@ -101,6 +95,13 @@ typedef enum
10195} GrB_WaitMode ;
10296
10397/* 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+
104105typedef enum
105106{
106107 GxB_BY_ROW = 0 ,
@@ -110,36 +111,58 @@ typedef enum
110111
111112typedef enum
112113{
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
143166} GxB_Option_Field ;
144167
145168typedef enum
@@ -2603,6 +2626,7 @@ extern GrB_UnaryOp GxB_TRUNC_FP32;
26032626extern GrB_UnaryOp GxB_TRUNC_FP64 ;
26042627
26052628/* GxB objects */
2629+ extern GxB_Context GxB_CONTEXT_WORLD ;
26062630extern GxB_SelectOp GxB_DIAG ;
26072631extern GxB_SelectOp GxB_EQ_THUNK ;
26082632extern GxB_SelectOp GxB_EQ_ZERO ;
@@ -3063,9 +3087,6 @@ GrB_Info GrB_Vector_wait(GrB_Vector v, GrB_WaitMode waitmode);
30633087* GB functions *
30643088***************/
30653089
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-
30693090/* iterator */
30703091GrB_Info GB_Iterator_rc_bitmap_next (GxB_Iterator iterator );
30713092GrB_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)
30743095/* matrix */
30753096GrB_Info GB_Iterator_attach (GxB_Iterator iterator , GrB_Matrix A , GxB_Format_Value format , GrB_Descriptor desc );
30763097
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-
30863098/****************
30873099* GxB functions *
30883100****************/
@@ -3097,14 +3109,28 @@ GrB_Info GxB_BinaryOp_ytype_name(char *type_name, const GrB_BinaryOp binaryop);
30973109GrB_Info GxB_BinaryOp_ztype (GrB_Type * ztype , GrB_BinaryOp binaryop );
30983110GrB_Info GxB_BinaryOp_ztype_name (char * type_name , const GrB_BinaryOp binaryop );
30993111
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+
31003125/* core */
31013126GrB_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 );
31033128GrB_Info GxB_Global_Option_get_FP64 (GxB_Option_Field field , double * value );
31043129GrB_Info GxB_Global_Option_get_FUNCTION (GxB_Option_Field field , void * * value );
31053130GrB_Info GxB_Global_Option_get_INT32 (GxB_Option_Field field , int32_t * value );
31063131GrB_Info GxB_Global_Option_get_INT64 (GxB_Option_Field field , int64_t * value );
31073132GrB_Info GxB_Global_Option_set (GxB_Option_Field field , ...);
3133+ GrB_Info GxB_Global_Option_set_CHAR (GxB_Option_Field field , const char * value );
31083134GrB_Info GxB_Global_Option_set_FP64 (GxB_Option_Field field , double value );
31093135GrB_Info GxB_Global_Option_set_FP64_ARRAY (GxB_Option_Field field , double * value );
31103136GrB_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);
33433369GrB_Info GxB_Scalar_wait (GrB_Scalar * s );
33443370
33453371/* 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 );
33503373GrB_Info GxB_SelectOp_ttype (GrB_Type * ttype , GxB_SelectOp selectop );
3351- GrB_Info GxB_SelectOp_wait (GxB_SelectOp op , GrB_WaitMode waitmode );
33523374GrB_Info GxB_SelectOp_xtype (GrB_Type * xtype , GxB_SelectOp selectop );
33533375
33543376/* semiring */
@@ -3453,16 +3475,14 @@ GrB_Info GxB_Vector_unpack_Full(GrB_Vector v, void **vx, GrB_Index *vx_size, boo
34533475#define GxB_BITMAP ...
34543476#define GxB_CHUNK ...
34553477#define GxB_COMPRESSION_DEFAULT ...
3456- #define GxB_COMPRESSION_INTEL ...
34573478#define GxB_COMPRESSION_LZ4 ...
34583479#define GxB_COMPRESSION_LZ4HC ...
34593480#define GxB_COMPRESSION_NONE ...
34603481#define GxB_COMPRESSION_ZSTD ...
34613482#define GxB_END ...
34623483#define GxB_FAST_IMPORT ...
34633484#define GxB_FULL ...
3464- #define GxB_GPU_CHUNK ...
3465- #define GxB_GPU_CONTROL ...
3485+ #define GxB_GPU_ID ...
34663486#define GxB_HYPERSPARSE ...
34673487#define GxB_IMPLEMENTATION ...
34683488#define GxB_IMPLEMENTATION_MAJOR ...
0 commit comments