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.17-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.17-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.17-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.17-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.17-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.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa9e91883c8b740b8568c254f68822d2d50cd10a4d682637c52204f4769b26b3
MD5 429012dd26af9395680647ea582772d3
BLAKE2b-256 50420b7a56036f72d9195782c8c0f88df9dfabc1e34318343a7ac3d6055fa093

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de88f429469de6d7cbc7c186dc1686b6ae68db26703600451e08977af51d13cb
MD5 5e5c49d3a1e6ac324823d0ca1283fe76
BLAKE2b-256 a8729f94509670ffc90d3bef668da485414bdba93395440064a0145108b06883

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe5c95eeb45ee00a6452da95e9a5d37594f56b5ab1bd3cb5aab6ace01b3267c8
MD5 aa42a1ac78b0625f462d3cdab26d002d
BLAKE2b-256 c1a4d15a408de6c4926d170b529729d26a3b380275d4b52062e693cd3fdb69f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0596907897c90af8d2ea8d5cf3436b3b1a688d12aba9379fe1c9cb3e3de29074
MD5 3fc6d5f2b717cb43f3a8bb209caaf435
BLAKE2b-256 b5e5ae5c922ab436389ab2ab4801f651d4f303f5e70867253a4d4b2ecf6f1707

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06a26f9e8031d6d926e0f41e033e0ceec67d95a22ccc0f42dc42bc2ef416c598
MD5 63ac5acb8c667874a422966e7b57ceda
BLAKE2b-256 1c68004ee9f7670f94f9d1b429fd58857dcbe8136cb2ed2dc069ba54d4db0781

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