From 77eba2afbd475dd5f1b43e16e5bacb924ec1ade6 Mon Sep 17 00:00:00 2001 From: Siyuan Zhang Date: Wed, 7 Jan 2026 10:14:37 -0500 Subject: [PATCH 1/2] header compatibility for C --- .gitignore | 3 +++ include/cuSZp.h | 40 ++++++++++++++++++++-------------------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index dd07bff..2ebc1a1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ build-* +build +install +.cache \ No newline at end of file diff --git a/include/cuSZp.h b/include/cuSZp.h index f168b84..f780acb 100644 --- a/include/cuSZp.h +++ b/include/cuSZp.h @@ -1,16 +1,16 @@ #ifndef CUSZP_H #define CUSZP_H -#include -#include -#include "cuSZp/cuSZp_utility.h" -#include "cuSZp/cuSZp_timer.h" #include "cuSZp/cuSZp_entry_1D_f32.h" #include "cuSZp/cuSZp_entry_1D_f64.h" #include "cuSZp/cuSZp_entry_2D_f32.h" #include "cuSZp/cuSZp_entry_2D_f64.h" #include "cuSZp/cuSZp_entry_3D_f32.h" #include "cuSZp/cuSZp_entry_3D_f64.h" +#include "cuSZp/cuSZp_timer.h" +#include "cuSZp/cuSZp_utility.h" +#include +#include #include #ifdef __cplusplus @@ -18,31 +18,31 @@ extern "C" { #endif typedef enum { - CUSZP_DIM_1D = 1, // 1D Processing Manner (can be used for all datasets) - CUSZP_DIM_2D = 2, // 2D Processing Manner (can be used for both 2D and 3D) - CUSZP_DIM_3D = 3 // 3d Processing Manner (can be used for only 3D datasets) + CUSZP_DIM_1D = 1, // 1D Processing Manner (can be used for all datasets) + CUSZP_DIM_2D = 2, // 2D Processing Manner (can be used for both 2D and 3D) + CUSZP_DIM_3D = 3 // 3d Processing Manner (can be used for only 3D datasets) } cuszp_dim_t; typedef enum { - CUSZP_MODE_FIXED = 0, // No-delta fixed-length encoding mode - CUSZP_MODE_PLAIN = 1, // Plain (with delta) fixed-length encoding mode - CUSZP_MODE_OUTLIER = 2, // Outlier fixed-length encoding mode - // CUSZP_MODE_AATROX = 3 // AaTrox (ICS'25) fixed-length encoding mode + CUSZP_MODE_FIXED = 0, // No-delta fixed-length encoding mode + CUSZP_MODE_PLAIN = 1, // Plain (with delta) fixed-length encoding mode + CUSZP_MODE_OUTLIER = 2, // Outlier fixed-length encoding mode + // CUSZP_MODE_AATROX = 3 // AaTrox (ICS'25) fixed-length encoding mode } cuszp_mode_t; typedef enum { - CUSZP_TYPE_FLOAT = 0, // Single precision floating point (f32) - CUSZP_TYPE_DOUBLE = 1 // Double precision floating point (f64) + CUSZP_TYPE_FLOAT = 0, // Single precision floating point (f32) + CUSZP_TYPE_DOUBLE = 1 // Double precision floating point (f64) } cuszp_type_t; -void cuSZp_compress(void* d_oriData, unsigned char* d_cmpBytes, - size_t nbEle, size_t* cmpSize, float errorBound, - cuszp_dim_t dim, uint3 dims, cuszp_type_t type, cuszp_mode_t mode, - cudaStream_t stream = 0); -void cuSZp_decompress(void* d_decData, unsigned char* d_cmpBytes, - size_t nbEle, size_t cmpSize, float errorBound, - cuszp_dim_t dim, uint3 dims, cuszp_type_t type, cuszp_mode_t mode, +void cuSZp_compress(void *d_oriData, unsigned char *d_cmpBytes, size_t nbEle, + size_t *cmpSize, float errorBound, cuszp_dim_t dim, + uint3 dims, cuszp_type_t type, cuszp_mode_t mode, cudaStream_t stream = 0); +void cuSZp_decompress(void *d_decData, unsigned char *d_cmpBytes, size_t nbEle, + size_t cmpSize, float errorBound, cuszp_dim_t dim, + uint3 dims, cuszp_type_t type, cuszp_mode_t mode, + cudaStream_t stream = 0); #ifdef __cplusplus } From 83c53bb3cc3bd2dba8afa429ac6a826ad4c03f6a Mon Sep 17 00:00:00 2001 From: Siyuan Zhang Date: Wed, 7 Jan 2026 10:35:55 -0500 Subject: [PATCH 2/2] header compatibility for C --- include/cuSZp.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/include/cuSZp.h b/include/cuSZp.h index f780acb..2467c12 100644 --- a/include/cuSZp.h +++ b/include/cuSZp.h @@ -1,6 +1,12 @@ #ifndef CUSZP_H #define CUSZP_H +#include +#include +#include + +#ifdef __cplusplus + #include "cuSZp/cuSZp_entry_1D_f32.h" #include "cuSZp/cuSZp_entry_1D_f64.h" #include "cuSZp/cuSZp_entry_2D_f32.h" @@ -9,11 +15,7 @@ #include "cuSZp/cuSZp_entry_3D_f64.h" #include "cuSZp/cuSZp_timer.h" #include "cuSZp/cuSZp_utility.h" -#include -#include -#include -#ifdef __cplusplus extern "C" { #endif @@ -38,11 +40,11 @@ typedef enum { void cuSZp_compress(void *d_oriData, unsigned char *d_cmpBytes, size_t nbEle, size_t *cmpSize, float errorBound, cuszp_dim_t dim, uint3 dims, cuszp_type_t type, cuszp_mode_t mode, - cudaStream_t stream = 0); + cudaStream_t stream); void cuSZp_decompress(void *d_decData, unsigned char *d_cmpBytes, size_t nbEle, size_t cmpSize, float errorBound, cuszp_dim_t dim, uint3 dims, cuszp_type_t type, cuszp_mode_t mode, - cudaStream_t stream = 0); + cudaStream_t stream); #ifdef __cplusplus }