Skip to main content

HaSTL

HaSTL [ˈheɪstiɛl]: A fast GPU implementation of batched Seasonal and Trend decomposition using Loess (STL) [1] with missing values and support for both CUDA and OpenCL (C and multicore backends are also available). Loosely based on stlplus, a popular library for the R programming language. The GPU code is written in Futhark, a functional language that compiles to efficient parallel code.

Requirements

You would need a working OpenCL or CUDA installation/header files, C compiler and these Python packages:

  • futhark-ffi==0.14.2

  • wheel

Installation

You may want to run the program in a Python virtual environment. Create it via:

python -m venv env

Then, activate the virtual environment via:

. env/bin/activate

Upgrade pip via:

pip install --upgrade pip

Then select the backends (choose from opencl, cuda, c and multicore) that you wish to build by setting the environment variable:

export HASTL_BACKENDS="opencl multicore c"

If no environmental variable is set, only the sequential c backend would be compiled.

The package can then be easily installed using pip. This will take a while, since we need to compile the shared libraries for your particular system, Python implementation and all selected backends:

pip install hastl

To install the package from the sources, first get the current stable release via:

git clone https://github.com/mortvest/hastl

Install the dependencies via:

pip install -r requirements.txt

Afterwards, you can install the package. This can also take a while:

python setup.py sdist bdist_wheel
pip install .

Usage

Examples of HaSTL usage can be found in the examples/ direcotry. The simplest snippet should contain:

from hastl import STL
stl = STL(backend=..)
seasonal, trend, remainder = stl.fit(data, n_p=.., q_s=..)

References

[1] Cleveland, Robert B., et al. “STL: A seasonal-trend decomposition.” J. Off. Stat 6.1 (1990): 3-73.

Release files for hastl 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hastl 0.1.8
File Size Uploaded
hastl-0.1.8.tar.gz 2.3 MB Details

Release files / hastl-0.1.8.tar.gz

Download URL hastl-0.1.8.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
f71b427f03ecd071a7a5eae8dfb7d39443f9e3422b9c2816955e424ecc7b4566
BLAKE2b-256 checksum
How to use checksums
ade3ee58c371626e73ad983865a2985e92e473d6fd49b213b50865d96698efeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.1.8 This release

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page