Skip to content

Commit

Permalink
bsc 3.3.2
Browse files Browse the repository at this point in the history
  • Loading branch information
IlyaGrebnov committed Mar 25, 2023
1 parent 55c0a70 commit baf06ad
Show file tree
Hide file tree
Showing 9 changed files with 842 additions and 639 deletions.
3 changes: 3 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Changes in 3.3.2 (March, 24 2023)
- Reduced memory usage and improved performance of GPU accelerated forward BWT.

Changes in 3.3.1 (February, 15 2023)
- Added ability to specify block size in bytes as oppose to megabytes.

Expand Down
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Compression and decompression requirements are the same and in bytes, can
be estimated as 16Mb + 5 x block size x number of blocks processed in parallel.

GPU memory usage for NVIDIA CUDA technology is different from CPU memory usage
and can be estimated as 20 x block size for ST and 32 x block size for BWT.
and can be estimated as 20 x block size for ST and 21 x block size for BWT.


NVIDIA GPU acceleration:
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.1
3.3.2
2 changes: 1 addition & 1 deletion bsc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -869,7 +869,7 @@ void ProcessCommandline(int argc, char * argv[])

int main(int argc, char * argv[])
{
fprintf(stdout, "This is bsc, Block Sorting Compressor. Version 3.3.1. 15 February 2023.\n");
fprintf(stdout, "This is bsc, Block Sorting Compressor. Version 3.3.2. 24 March 2023.\n");
fprintf(stdout, "Copyright (c) 2009-2023 Ilya Grebnov <Ilya.Grebnov@gmail.com>.\n\n");

#if defined(_OPENMP) && defined(__INTEL_COMPILER)
Expand Down
3 changes: 3 additions & 0 deletions libbsc/bwt/libcubwt/CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Changes in 1.5.0 (March 24, 2023)
- Reduced memory usage and improved performance.

Changes in 1.0.0 (February 10, 2023)
- Initial public release of the libcubwt.

2 changes: 1 addition & 1 deletion libbsc/bwt/libcubwt/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.0
1.5.0
1,415 changes: 827 additions & 588 deletions libbsc/bwt/libcubwt/libcubwt.cu

Large diffs are not rendered by default.

48 changes: 3 additions & 45 deletions libbsc/bwt/libcubwt/libcubwt.cuh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*--
This file is a part of libcubwt, a library for CUDA accelerated
suffix array and burrows wheeler transform construction.
burrows wheeler transform construction.
Copyright (c) 2022-2023 Ilya Grebnov <ilya.grebnov@gmail.com>
Expand All @@ -25,9 +25,9 @@ Please see the file LICENSE for full copyright and license details.
#define LIBCUBWT_CUH 1

#define LIBCUBWT_VERSION_MAJOR 1
#define LIBCUBWT_VERSION_MINOR 0
#define LIBCUBWT_VERSION_MINOR 5
#define LIBCUBWT_VERSION_PATCH 0
#define LIBCUBWT_VERSION_STRING "1.0.0"
#define LIBCUBWT_VERSION_STRING "1.5.0"

#define LIBCUBWT_NO_ERROR 0
#define LIBCUBWT_BAD_PARAMETER -1
Expand Down Expand Up @@ -57,37 +57,6 @@ extern "C" {
*/
int64_t libcubwt_free_device_storage(void * device_storage);

/**
* Constructs the suffix array (SA) of a given string.
* @param device_storage The previously allocated storage on the CUDA device.
* @param T [0..n-1] The input string.
* @param SA [0..n-1] The output array of suffixes.
* @param n The length of the input string.
* @return LIBCUBWT_NO_ERROR if no error occurred, libcubwt error code otherwise.
*/
int64_t libcubwt_sa(void * device_storage, const uint8_t * T, uint32_t * SA, int64_t n);

/**
* Constructs the inverse suffix array (ISA) of a given string.
* @param device_storage The previously allocated storage on the CUDA device.
* @param T [0..n-1] The input string.
* @param ISA [0..n-1] The output inverse array of suffixes.
* @param n The length of the input string.
* @return LIBCUBWT_NO_ERROR if no error occurred, libcubwt error code otherwise.
*/
int64_t libcubwt_isa(void * device_storage, const uint8_t * T, uint32_t * ISA, int64_t n);

/**
* Constructs the suffix array (SA) and inverse suffix array (ISA) of a given string.
* @param device_storage The previously allocated storage on the CUDA device.
* @param T [0..n-1] The input string.
* @param SA [0..n-1] The output array of suffixes.
* @param ISA [0..n-1] The output inverse array of suffixes.
* @param n The length of the input string.
* @return LIBCUBWT_NO_ERROR if no error occurred, libcubwt error code otherwise.
*/
int64_t libcubwt_sa_isa(void * device_storage, const uint8_t * T, uint32_t * SA, uint32_t * ISA, int64_t n);

/**
* Constructs the Burrows-Wheeler Transform (BWT) of a given string.
* @param device_storage The previously allocated storage on the CUDA device.
Expand All @@ -98,17 +67,6 @@ extern "C" {
*/
int64_t libcubwt_bwt(void * device_storage, const uint8_t * T, uint8_t * L, int64_t n);

/**
* Constructs the Burrows-Wheeler Transform (BWT) and inverse suffix array (ISA) of a given string.
* @param device_storage The previously allocated storage on the CUDA device.
* @param T [0..n-1] The input string.
* @param L [0..n-1] The output string (can be T).
* @param ISA [0..n-1] The output inverse array of suffixes.
* @param n The length of the input string.
* @return The primary index if no error occurred, libcubwt error code otherwise.
*/
int64_t libcubwt_bwt_isa(void * device_storage, const uint8_t * T, uint8_t * L, uint32_t * ISA, int64_t n);

/**
* Constructs the Burrows-Wheeler Transform (BWT) of a given string with auxiliary indexes.
* @param device_storage The previously allocated storage on the CUDA device.
Expand Down
4 changes: 2 additions & 2 deletions libbsc/libbsc.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ See also the bsc and libbsc web site:

#define LIBBSC_VERSION_MAJOR 3
#define LIBBSC_VERSION_MINOR 3
#define LIBBSC_VERSION_PATCH 1
#define LIBBSC_VERSION_STRING "3.3.1"
#define LIBBSC_VERSION_PATCH 2
#define LIBBSC_VERSION_STRING "3.3.2"

#define LIBBSC_NO_ERROR 0
#define LIBBSC_BAD_PARAMETER -1
Expand Down

0 comments on commit baf06ad

Please sign in to comment.