Skip to content

Commit

Permalink
Bump Arrow to 3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mbrobbel committed Feb 2, 2021
1 parent 5b05f74 commit 1f2284b
Show file tree
Hide file tree
Showing 13 changed files with 52 additions and 37 deletions.
1 change: 1 addition & 0 deletions .github/workflows/assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ jobs:
- 'cp36-cp36m'
- 'cp37-cp37m'
- 'cp38-cp38'
- 'cp39-cp39'
steps:
- uses: actions/checkout@v2
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
name: Book
runs-on: ubuntu-latest
env:
MDBOOK_VERSION: '0.4.1'
MDBOOK_VERSION: '0.4.6'
steps:
- uses: actions/checkout@v2
- name: Install mdbook
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
env:
CMAKE_VERSION: '3.17.3'
ARROW_VERSION: '3.0.0'
CPYTHON_VERSION: 'cp35-cp35m'
CPYTHON_VERSION: 'cp36-cp36m'
steps:
- uses: actions/checkout@v2
- name: Install Apache Arrow
Expand All @@ -40,7 +40,7 @@ jobs:
runs-on: ubuntu-latest
needs: prepare
env:
PYTHON_VERSION: '3.5.x'
PYTHON_VERSION: '3.6.x'
strategy:
fail-fast: false
matrix:
Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,21 @@ jobs:
sudo apt-get install -y ./apache-arrow-archive-keyring-latest-$(lsb_release --codename --short).deb
sudo apt-get update
sudo apt-get install -y libarrow-dev=$ARROW_VERSION-1 libarrow-python-dev=$ARROW_VERSION-1
- uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install pyarrow
run: pip3 install pyarrow==$ARROW_VERSION setuptools wheel
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install pyarrow==$ARROW_VERSION
- name: Build and install
working-directory: ${{ matrix.source }}
run: |
python3 setup.py build
python3 setup.py bdist_wheel
pip3 install build/dist/*.whl
python setup.py build
python setup.py bdist_wheel
python -m pip install build/dist/*.whl
- name: Import
run: python3 -c "import ${{ matrix.package }}"
run: python -c "import ${{ matrix.package }}"

vhdl:
name: VHDL
Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ generates the following:
- Structs
- Validity bitmaps

- Once the Arrow reference implementation and format specific reaches ensured
stability (i.e. version 1.0), we would like to support:
- In the future we would like to support:
- Sparse and dense unions
- Dictionaries
- Chunked tabular structures (`Arrow::Table`)
Expand Down Expand Up @@ -128,15 +127,18 @@ External projects using Fletcher:
- [Posit PairHMM](https://github.com/lvandam/pairhmm_posit_hdl_arrow)

## Publications

If you used or studied Fletcher, please cite:

- J. Peltenburg, J. van Straten, L. Wijtemans, L. van Leeuwen, Z. Al-Ars, and
H.P. Hofstee, Fletcher: A Framework to Efficiently Integrate FPGA Accelerators
with Apache Arrow*, in 29th International Conference on Field Programmable
with Apache Arrow\*, in 29th International Conference on Field Programmable
Logic and Applications (FPL) (2019) pp. 270–277.

Additional publications:

- J. Peltenburg, J. van Straten, M. Brobbel, H.P. Hofstee, and Z. Al-Ars,
Supporting Columnar In-memory Formats on FPGA: The Hardware Design of Fletcher
for Apache Arrow*, in Applied Reconfigurable Computing, edited by
C. Hochberger, B. Nelson, A. Koch, R. Woods, and P. Diniz (Springer
for Apache Arrow\*, in Applied Reconfigurable Computing, edited by
C. Hochberger, B. Nelson, A. Koch, R. Woods, and P. Diniz (Springer
International Publishing, Cham, 2019) pp. 32–47
2 changes: 1 addition & 1 deletion codegen/cpp/fletchgen/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_PACKAGE_VENDOR}")
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
set(CPACK_RPM_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION}")
set(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0")
set(CPACK_RPM_PACKAGE_REQUIRES "arrow-libs >= 1.0.1, arrow-libs < 2.0.0")
set(CPACK_RPM_PACKAGE_REQUIRES "arrow-libs >= 3.0.0, arrow-libs < 4.0.0")

set(CPACK_ARCHIVE_BINARY_FILE_NAME "${CMAKE_PROJECT_NAME}-${fletchgen_VERSION}-${CMAKE_SYSTEM_NAME}")

Expand Down
30 changes: 17 additions & 13 deletions codegen/cpp/fletchgen/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ It currently supports only two top-level platforms.
# Prerequisites

- [C++17 compliant compiler](https://clang.llvm.org/)
- [Apache Arrow 1.0+](https://github.com/apache/arrow)
- [Apache Arrow 3.0+](https://github.com/apache/arrow)
- [CMake 3.14+](https://cmake.org/)

# Build & install
Expand Down Expand Up @@ -95,6 +95,7 @@ your kernel implementation.
| fletcher_tag_width | 1 / 2 / 3 / ... | 1 | Width of the `tag` field of commands and unlock streams of RecordBatchReaders/Writers. Can be used to identify commands. |

# Custom MMIO registers

You can add custom MMIO registers to your kernel using `--reg`.
More information [can be found here](../../../docs/mmio.md).

Expand All @@ -114,32 +115,35 @@ bit.
- record:
name: platform
fields:
- record:
name: complete
fields:
- field:
name: req
width: 1
- field:
name: ack
width: 1
reverse: true
- record:
name: complete
fields:
- field:
name: req
width: 1
- field:
name: ack
width: 1
reverse: true
```
This will result in the following signals appearing at the top-level:
```vhdl
ext_platform_complete_req : out std_logic;
ext_platform_complete_ack : in std_logic
```
* The signals are assumed to be driven by the kernel. To drive them from the top
- The signals are assumed to be driven by the kernel. To drive them from the top
level, use:
```yaml
reverse: true
```
* Fields with a width of 1 can be forced to be `std_logic_vector` instead of
- Fields with a width of 1 can be forced to be `std_logic_vector` instead of
`std_logic` by using:

```yaml
vector: true
```
Expand Down
2 changes: 1 addition & 1 deletion examples/stringwrite/software/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ include(CompileUnits)

project(stringwrite VERSION 0.0.0 LANGUAGES CXX)

find_package(Arrow 1.0 CONFIG REQUIRED)
find_package(Arrow 3.0 CONFIG REQUIRED)
find_package(fletcher CONFIG)

if (NOT fletcher)
Expand Down
2 changes: 1 addition & 1 deletion examples/sum/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ open-source tools.
The examples in this part of the tutorial are written in Python, so you'll need

- Install [Python 3.6+](https://www.python.org/).
- Install [PyArrow 1.0+](https://arrow.apache.org/docs/python/).
- Install [PyArrow 3.0+](https://arrow.apache.org/docs/python/).

Furthermore you'll need to build and install Fletchgen - the Fletcher design
generator tool.
Expand Down
2 changes: 1 addition & 1 deletion examples/sum/software/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ include(CompileUnits)

project(sum VERSION 0.0.0 LANGUAGES CXX)

find_package(Arrow 1.0 CONFIG REQUIRED)
find_package(Arrow 3.0 CONFIG REQUIRED)
find_package(fletcher CONFIG)

if (NOT fletcher)
Expand Down
4 changes: 2 additions & 2 deletions runtime/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,14 @@ set(CPACK_PACKAGE_VERSION_PATCH "${fletcher_VERSION_PATCH}")
set(CPACK_PACKAGE_RELOCATABLE ON)

set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libarrow-dev (>= 1.0.1), libarrow-dev (<< 2.0.0)")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libarrow-dev (>= 3.0.0), libarrow-dev (<< 4.0.0)")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_PACKAGE_VENDOR}")

set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
set(CPACK_RPM_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION}")
set(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0")
# fletcher-devel
set(CPACK_RPM_PACKAGE_REQUIRES "arrow-devel >= 1.0.1, arrow-devel < 2.0.0")
set(CPACK_RPM_PACKAGE_REQUIRES "arrow-devel >= 3.0.0, arrow-devel < 4.0.0")

set(CPACK_ARCHIVE_LIBRARY_FILE_NAME "${CMAKE_PROJECT_NAME}-${fletcher_VERSION}-${CMAKE_SYSTEM_NAME}")

Expand Down
9 changes: 6 additions & 3 deletions runtime/cpp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ applications.
# Build & install

## Requirements
- [Apache Arrow 1.0+ C++ run-time and development headers.](https://arrow.apache.org/install)
- A C++17 compliant compiler

- [Apache Arrow 3.0+ C++ run-time and development headers.](https://arrow.apache.org/install)
- A C++17 compliant compiler
- CMake 3.14

## Build
Expand All @@ -22,11 +23,13 @@ sudo make install
## Example usage

Include:

```c++
#include <fletcher/api.h>
```

Example snippet:

```c++
using fletcher::Platform;
using fletcher::Context;
Expand Down Expand Up @@ -54,4 +57,4 @@ kernel.GetReturn(&result); // Obtain the result.
# Documentation
[C++ API Documentation](https://abs-tudelft.github.io/fletcher/api/fletcher-cpp/)
[C++ API Documentation](https://abs-tudelft.github.io/fletcher/api/fletcher-cpp/)
4 changes: 2 additions & 2 deletions runtime/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,12 @@ def initialize_options(self):
install_requires=[
'numpy >= 1.14',
'pandas',
'pyarrow == 1.0.1',
'pyarrow == 3.0.0',
],
setup_requires=[
'cython',
'numpy',
'pyarrow == 1.0.1',
'pyarrow == 3.0.0',
'plumbum',
'pytest-runner'
],
Expand Down

0 comments on commit 1f2284b

Please sign in to comment.