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.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 225ffca8c834f54ea76eb375c6f15ef749f1fed4ccb053c2f71dc7d2cbf5a0dc
MD5 b9bf54128a0b734b1c2d3b8133f37b88
BLAKE2b-256 6c1a198e7ab5fcb07e11de3ff53993403d70d51c6c5a7ba792734264056eab69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b51339d50d663a7e4db218c17c8bf0b40f08ce75fd9279d70e8a5305c840803
MD5 ec6a3b97865bd5d67879277179a77bd1
BLAKE2b-256 8708e63ef7795ea583cb5c7031c739c3f796a41f1376334ca39f020133592d11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5260d0524feacb1122de02748e9df4ac33e993b845a806b782c414ba177a5eb0
MD5 5fa8be7754d435f8b063a5aa3cea3b64
BLAKE2b-256 8395717dd59b4862214f9dddabb22674c110e721ca6386550b7b07031e0a1e7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c07cfed3678e17a321df664cb144c7a24ec5d71c9e495cf3d9fa19d1506478a9
MD5 eb56905c359148c5c70e7d233cbbc1f6
BLAKE2b-256 b6f2703733dd3444b9ab7b0f7a9dbd5dcb8d52dc12cc49bd37f9bc12643eabfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d546cf230c21cd869d384e158aef59b7bfb67bfe75d8b344ee754f03b079a13
MD5 543515c8202993963098f8a4ca82b35d
BLAKE2b-256 f740c1ce550a4c22848bd667c8792dc5517a97df2559fa2bd11bbf63260a3b4d

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