Python library for fast time-series analysis on CUDA GPUs
GPL-3.0 License
.. image:: https://badge.fury.io/py/cuvarbase.svg :target: https://badge.fury.io/py/cuvarbase
John Hoffman (c) 2017
cuvarbase
is a Python library that uses PyCUDA <https://mathema.tician.de/software/pycuda/>
_ to implement several time series tools used in astronomy on GPUs.
See the documentation <https://johnh2o2.github.io/cuvarbase/>
_.
This project is under active development, and currently includes implementations of
Lomb Scargle <https://arxiv.org/abs/0901.2573>
_ periodogramBLS <http://adsabs.harvard.edu/abs/2002A%26A...391..369K>
_ )NFFT paper <http://epubs.siam.org/doi/abs/10.1137/0914081>
_)CE <http://adsabs.harvard.edu/abs/2013MNRAS.434.2629G>
_)PDM2 <http://www.stellingwerf.com/rfs-bin/index.cgi?action=PageView&id=29>
_)
Hopefully future developments will have
PyCUDA <https://mathema.tician.de/software/pycuda/>
_ <-essential
scikit cuda <https://scikit-cuda.readthedocs.io/en/latest/>
_ <-also essential
matplotlib <https://matplotlib.org/>
_ (for plotting utilities)nfft <https://github.com/jakevdp/nfft>
_ (for unit testing)astropy <http://www.astropy.org/>
_ (for unit testing)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.