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

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fastlisaresponse_cuda11x-1.1.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d346694278d598cb244abb949d2882dea417f462bae718417d82eeb6991f115
MD5 62bbe12c553d41ed0bd05129c84378de
BLAKE2b-256 705904b458f21fc06a059ec58632c28ac9121f5b1210c04cd3555c862f03b9d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88fb2b97e43723294b39ecfe52465404c5f4802bb0acecbab4fac622fa2049d4
MD5 827dcd1feba2bf428ed350f9722b0289
BLAKE2b-256 280fbf2a1511763428a997fe48fa51d2f40d2e35a0c25f430fbc41f4a3266072

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9001d19d2fd41a6e51d9b7d7da2c64fda6e06725db40dc8b12547a6491a6f704
MD5 2360c21749a272205147f45f14e24b5d
BLAKE2b-256 45aeac73fd9534ca2a184283a39187c83b9a17fecc96fe832326bf329ce95e55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e13b96c0357f46c9392fdedb56a403d864b8d5de94db4b6690c81e9c4572dcc5
MD5 3d716062b415e2a515715f70d36c57f4
BLAKE2b-256 7de603565aeca8e42adc92ca8fd3d322fbcb22509009529df063042c40474c9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c358737b5fe515c36f4359bea749ade0b82cc43bbda3170eba1f59af65fc7183
MD5 b64897b3446b1e5c6591d987dd77fd0e
BLAKE2b-256 024b15d291ad7e7a8e59ab1d50ec9c9939f2571d18c5d8690eacd5419af8aed9

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