Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/johnh2o2/cuvarbase
Python library for fast time-series analysis on CUDA GPUs
https://github.com/johnh2o2/cuvarbase
cuda fourier-methods gpu gpu-computing lomb-scargle-periodogram nfft python python-3 time-series
Last synced: about 2 months ago
JSON representation
Python library for fast time-series analysis on CUDA GPUs
- Host: GitHub
- URL: https://github.com/johnh2o2/cuvarbase
- Owner: johnh2o2
- License: gpl-3.0
- Created: 2017-06-22T14:23:18.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-10-23T01:12:48.000Z (about 1 year ago)
- Last Synced: 2024-08-09T12:27:38.207Z (5 months ago)
- Topics: cuda, fourier-methods, gpu, gpu-computing, lomb-scargle-periodogram, nfft, python, python-3, time-series
- Language: Jupyter Notebook
- Homepage: https://johnh2o2.github.io/cuvarbase/index.html
- Size: 49.9 MB
- Stars: 24
- Watchers: 7
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
cuvarbase
=========.. image:: https://badge.fury.io/py/cuvarbase.svg
:target: https://badge.fury.io/py/cuvarbaseJohn Hoffman
(c) 2017``cuvarbase`` is a Python library that uses `PyCUDA `_ to implement several time series tools used in astronomy on GPUs.
See the `documentation `_.
This project is under active development, and currently includes implementations of
- Generalized `Lomb Scargle `_ periodogram
- Box-least squares (`BLS `_ )
- Non-equispaced fast Fourier transform (adjoint operation) (`NFFT paper `_)
- Conditional entropy period finder (`CE `_)
- Phase dispersion minimization (`PDM2 `_)
- Currently operational but minimal unit testing or documentation (yet)Hopefully future developments will have
- (Weighted) wavelet transforms
- Spectrograms (for PDM and GLS)
- Multiharmonic extensions for GLSDependencies
------------- `PyCUDA `_ **<-essential**
- `scikit cuda `_ **<-also essential**
- used for access to the CUDA FFT runtime library
- `matplotlib `_ (for plotting utilities)
- `nfft `_ (for unit testing)
- `astropy `_ (for unit testing)Using multiple GPUs
-------------------If you have more than one GPU, you can choose which one to
use in a given script by setting the ``CUDA_DEVICE`` environment
variable:.. code:: sh
CUDA_DEVICE=1 python script.py
If anyone is interested in implementing multi-device load-balancing
solution, they are encouraged to do so! At some point this may
become important, but for the time being manually splitting up the
jobs to different GPU's will have to suffice.