Skip to content

Commit

Permalink
Update vcpkg baseline version
Browse files Browse the repository at this point in the history
  • Loading branch information
ljishen authored Aug 19, 2022
1 parent 9aad712 commit 50532a7
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
20 changes: 18 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,19 @@ Bitar is a C++ library to simplify accessing hardware compression/decompression

- Zero-copy of data input and output
- Synchronous and asynchronous operations
- Execution in both the host and the embedded environment
- Multi-core and multi-device support
- No sudo permission requirement

Bitar can run either on the host machine or on the NVIDIA BlueField DPU target
in either DPU mode or separated host mode.

## Prerequisites

- Linux (with kernel >= 4.4) or FreeBSD
- For Linux, glibc >= 2.7 (reported by `ldd --version`)
- GCC >= 9 (C++17 compliant compiler)
- [DPDK](https://github.com/DPDK/dpdk) >= v21.11 (can be installed via vcpkg)
- [Apache Arrow](https://github.com/apache/arrow) >= 7.0.0 (build automatically
- [Apache Arrow](https://github.com/apache/arrow) >= 8.0.1 (build automatically
if not found)

## Supported Hardware
Expand Down Expand Up @@ -127,3 +129,17 @@ $ ./build-$(uname -m)/apps/demo_app --in-memory --lcores 5@(0-7),6-7 \

There is no such problem when DPDK is compiled with GCC. Note that bitar can
still be compiled with Clang and linked with DPDK that is compiled with GCC.

- ```bash
[Out of memory: Reserving memzone of XXXXXX bytes failed. [Error 12: Cannot allocate memory]]
```
(Aug 18, 2022) If you see this error, check whether DPDK is running in the
Virtual Addresses mode (VA). Normally, you should see
`EAL: Selected IOVA mode 'VA'` during the program initialization. But if you
see `EAL: Selected IOVA mode 'PA'`, it's probably that the IOMMU is disable
either in the BIOS or in the kernel. If IOMMU is enabled,
`/sys/kernel/iommu_groups` path will contain kernel IOMMU groups and thus is
not be empty. To enable IOMMU in the kernel, you can add
`intel_iommu=on iommu=pt` in GRUB command-line on x86_64 systems, or add
`iommu.passthrough=1` on aarch64 systems.
2 changes: 2 additions & 0 deletions apps/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,7 @@ target_compile_definitions(demo_app PRIVATE ARROW_NO_DEPRECATED_API)

if(NOT Arrow_IS_BUILT)
find_package(CURL REQUIRED CONFIG)
# The Linux package of Arrow are missing dependencies (will be fixed in Arrow
# 10.0.0): https://issues.apache.org/jira/browse/ARROW-17422
target_link_system_libraries(Arrow::arrow INTERFACE CURL::libcurl)
endif()
1 change: 1 addition & 0 deletions cspell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ words: # list of words to be always considered to be correct
- hwrap
- INCLUDEDIR
- INTERPROCEDURAL
- IOMMU
- IOVA
- istrm
- IWYU
Expand Down
2 changes: 1 addition & 1 deletion vcpkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name": "bitar",
"homepage": "https://github.com/ljishen/bitar",
"description": "Bitar is a C++ library to simplify accessing hardware compression/decompression accelerators.",
"builtin-baseline": "bb1ad0b0151e89cb08fb40087b43411c141661e9",
"builtin-baseline": "9259a0719d94c402aae2ab7975bc096afdec15df",
"dependencies": [
{
"name": "abseil",
Expand Down

0 comments on commit 50532a7

Please sign in to comment.