starflate
Deflate on various hardware platforms
Set up
Should work on Linux and MacOS.
-
Install
bazel
orbazelisk
-
Verify that you can build and test:
bazel test //...
VS Code
Install the recommended extensions. See .vscode/extensions.json.
Auto-completion
Create a compilation database:
bazel build //... && bazel run @hedron_compile_commands//:refresh_all && bazel build //...
Then configure clangd. If you're using VS Code, the .vscode/settings does this for you, and .vscode/extensions.json already recommends installing the clangd extension.
Otherwise, copy the clangd args from the .vscode/settings.json.
Status
Done
- Build Huffman code tables from given symbol frequencies.
- Huffman decoding with C++ std lib.
TODO
- Get SYCL building with bazel. Already have OpenSYCL building for CPU only here. Would be nicer to use intel's LLVM which supports lots of GPUs.
- (maybe?) Implement LZ77 with C++ std lib.
- Implement Deflate decompression with C++ std lib.
- Port Deflate to SYCL.
- Benchmark it on CPU.
- Build system work to get it to run on GPU.
- Benchmark it on GPU.