Skip to main content

GPU-accelerated LISA Response Function

Project description

fastlisaresponse: Generic LISA response function for GPUs

This code base provides a GPU-accelerated version of the generic time-domain LISA response function. The GPU-acceleration allows this code to be used directly in Parameter Estimation.

Please see the documentation for further information on these modules. The code can be found on Github here. It can be found on Zenodo.

If you use all or any parts of this code, please cite arXiv:2204.06633. See the documentation to properly cite specific modules.

Getting Started

Install with pip:

pip install fastlisaresponse

To import fastlisaresponse:

from fastlisaresponse import ResponseWrapper

See examples notebook.

Prerequisites

Now (version 1.0.11) fastlisaresponse requires the newest version of LISA Analysis Tools. You can run pip install lisaanalysistools.

To install this software for CPU usage, you need Python >3.4 and NumPy. To run the examples, you will also need jupyter and matplotlib. We generally recommend installing everything, including gcc and g++ compilers, in the conda environment as is shown in the examples here. This generally helps avoid compilation and linking issues. If you use your own chosen compiler, you will need to make sure all necessary information is passed to the setup command (see below). You also may need to add information to the setup.py file.

To install this software for use with NVIDIA GPUs (compute capability >2.0), you need the CUDA toolkit and CuPy. The CUDA toolkit must have cuda version >8.0. Be sure to properly install CuPy within the correct CUDA toolkit version. Make sure the nvcc binary is on $PATH or set it as the CUDAHOME environment variable.

Installing

Install with pip (CPU only for now):

pip install fastlisaresponse

To install from source:

  1. Install Anaconda if you do not have it.

  2. Create a virtual environment.

conda create -n lisa_resp_env -c conda-forge gcc_linux-64 gxx_linux-64 numpy Cython scipy jupyter ipython h5py matplotlib python=3.12
conda activate lisa_resp_env
If on MACOSX, substitute `gcc_linux-64` and `gxx_linus-64` with `clang_osx-64` and `clangxx_osx-64`.

If you want a faster install, you can install the python packages (numpy, Cython, scipy, tqdm, jupyter, ipython, h5py, requests, matplotlib) with pip.
  1. Clone the repository.
git clone https://github.com/mikekatz04/lisa-on-gpu.git
cd lisa-on-gpu
  1. If using GPUs, use pip to install cupy.
pip install cupy-12x
  1. Run install. Make sure CUDA is on your PATH.
python scripts/prebuild.py
pip install .

Running the Tests

Run the example notebook or the tests using unittest from the main directory of the code:

python -m unittest discover

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Current Version: 1.0.11

Authors

  • Michael Katz
  • Jean-Baptiste Bayle
  • Alvin J. K. Chua
  • Michele Vallisneri

Contibutors

  • Maybe you!

License

This project is licensed under the GNU License - see the LICENSE.md file for details.

Acknowledgments

  • It was also supported in part through the computational resources and staff contributions provided for the Quest/Grail high performance computing facility at Northwestern University.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fastlisaresponse_cuda11x-1.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (256.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (256.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (255.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (255.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (255.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file fastlisaresponse_cuda11x-1.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86fdf7a918fa4fc12aebe2d8c0ca1986374e47ca8f2aac0148d98136307e50c4
MD5 6633f9baa87468de8bd9430d06e72c19
BLAKE2b-256 2c1ff0da7a617f21470cd80b38b548885bd837a95662555f915f5c12511a13b2

See more details on using hashes here.

File details

Details for the file fastlisaresponse_cuda11x-1.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c205a85ebdb7522b9607b0c854488c739634a89547b6c50676663c0f5486a9a
MD5 24c4e01b0372aaf80d183405e80e6686
BLAKE2b-256 dfff41b436d61ad7163752f680bc343b8ce7bcfd017eaece13a0e812e7b21aa1

See more details on using hashes here.

File details

Details for the file fastlisaresponse_cuda11x-1.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0df6f515467f734f6874ec9374f619299413462c297da9eec08f0418142232c
MD5 02dd26edc29eae64a83f67321eba8500
BLAKE2b-256 2149f8344f0a04ccf1ae048f15372365a5cce6b8730c57a0625b3446028f44dc

See more details on using hashes here.

File details

Details for the file fastlisaresponse_cuda11x-1.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5d29facc55c80255ef1609f6716ef3655d4631285b83e34bd7c506741420abc
MD5 113c2844c06d3571bb635c916e72f846
BLAKE2b-256 d27ce2eac2f679f86463c92a1a99dd41b3c152264ef3597ec7710b42db524c06

See more details on using hashes here.

File details

Details for the file fastlisaresponse_cuda11x-1.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 441163dc9ae3c5059f0fd569581dd8f28af891cd6cdc192a91de830702dd535d
MD5 9733c1a760d77ef3dec76bfec4ea5fbf
BLAKE2b-256 7a4d208ab71651c31b1cf3c0af86901f77e4222d0642e5be45efeceedd303875

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page