{"id":17632778,"url":"https://github.com/johnh2o2/cuvarbase","last_synced_at":"2025-05-07T08:21:41.480Z","repository":{"id":22062696,"uuid":"95123658","full_name":"johnh2o2/cuvarbase","owner":"johnh2o2","description":"Python library for fast time-series analysis on CUDA GPUs","archived":false,"fork":false,"pushed_at":"2025-05-04T14:29:43.000Z","size":52343,"stargazers_count":27,"open_issues_count":6,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-04T14:31:00.641Z","etag":null,"topics":["cuda","fourier-methods","gpu","gpu-computing","lomb-scargle-periodogram","nfft","python","python-3","time-series"],"latest_commit_sha":null,"homepage":"https://johnh2o2.github.io/cuvarbase/index.html","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnh2o2.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-06-22T14:23:18.000Z","updated_at":"2025-05-04T13:43:46.000Z","dependencies_parsed_at":"2023-12-21T16:44:55.054Z","dependency_job_id":"d09a7288-b138-4020-979f-3e9137e48e9f","html_url":"https://github.com/johnh2o2/cuvarbase","commit_stats":{"total_commits":186,"total_committers":8,"mean_commits":23.25,"dds":"0.12903225806451613","last_synced_commit":"8b671bb7539ff414df63c7377460291c1ba85862"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnh2o2%2Fcuvarbase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnh2o2%2Fcuvarbase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnh2o2%2Fcuvarbase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnh2o2%2Fcuvarbase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnh2o2","download_url":"https://codeload.github.com/johnh2o2/cuvarbase/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252839685,"owners_count":21812149,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cuda","fourier-methods","gpu","gpu-computing","lomb-scargle-periodogram","nfft","python","python-3","time-series"],"created_at":"2024-10-23T01:45:41.881Z","updated_at":"2025-05-07T08:21:41.456Z","avatar_url":"https://github.com/johnh2o2.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"cuvarbase\n=========\n\n.. image:: https://badge.fury.io/py/cuvarbase.svg\n    :target: https://badge.fury.io/py/cuvarbase\n\nJohn Hoffman\n(c) 2017\n\n``cuvarbase`` is a Python library that uses `PyCUDA \u003chttps://mathema.tician.de/software/pycuda/\u003e`_ to implement several time series tools used in astronomy on GPUs.\n\nSee the `documentation \u003chttps://johnh2o2.github.io/cuvarbase/\u003e`_.\n\nThis project is under active development, and currently includes implementations of\n\n- Generalized `Lomb Scargle \u003chttps://arxiv.org/abs/0901.2573\u003e`_ periodogram\n- Box-least squares (`BLS \u003chttp://adsabs.harvard.edu/abs/2002A%26A...391..369K\u003e`_ )\n- Non-equispaced fast Fourier transform (adjoint operation) (`NFFT paper \u003chttp://epubs.siam.org/doi/abs/10.1137/0914081\u003e`_)\n- Conditional entropy period finder (`CE \u003chttp://adsabs.harvard.edu/abs/2013MNRAS.434.2629G\u003e`_)\n- Phase dispersion minimization (`PDM2 \u003chttp://www.stellingwerf.com/rfs-bin/index.cgi?action=PageView\u0026id=29\u003e`_)\n\t- Currently operational but minimal unit testing or documentation (yet)\n\nHopefully future developments will have\n\n- (Weighted) wavelet transforms\n- Spectrograms (for PDM and GLS)\n- Multiharmonic extensions for GLS\n\n\nDependencies\n------------\n\n- `PyCUDA \u003chttps://mathema.tician.de/software/pycuda/\u003e`_ **\u003c-essential**\n- `scikit cuda \u003chttps://scikit-cuda.readthedocs.io/en/latest/\u003e`_ **\u003c-also essential**\n\t- used for access to the CUDA FFT runtime library\n- `matplotlib \u003chttps://matplotlib.org/\u003e`_ (for plotting utilities)\n- `nfft \u003chttps://github.com/jakevdp/nfft\u003e`_ (for unit testing)\n- `astropy \u003chttp://www.astropy.org/\u003e`_ (for unit testing)\n\n\nUsing multiple GPUs\n-------------------\n\nIf you have more than one GPU, you can choose which one to\nuse in a given script by setting the ``CUDA_DEVICE`` environment\nvariable:\n\n.. code:: sh\n\n    CUDA_DEVICE=1 python script.py\n\nIf anyone is interested in implementing multi-device load-balancing\nsolution, they are encouraged to do so! At some point this may\nbecome important, but for the time being manually splitting up the\njobs to different GPU's will have to suffice.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnh2o2%2Fcuvarbase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnh2o2%2Fcuvarbase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnh2o2%2Fcuvarbase/lists"}