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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3784708b15254aab5b667423616dbd95a77ba164a4ada92bf63ec5e80cfac92d
MD5 d64f35af4a26cad970950c26b1d7eb6b
BLAKE2b-256 8d2c8c7142414ec49ec15eba42a6ec2664f44c5bed1ea6ef753f8c0db37998a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 674913a40cba8d0557cef843bef11728f994032f2f021908fc9181ef31ef5cef
MD5 8c701224edddf5ca0c383a3a94e9f76d
BLAKE2b-256 f24860dce8422671526511879319de7466bb1dd3d4028fce51d28892b0bd26c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 28ed810aa0a6011cffba485ad52c45c52b46ceb43a7a1a70441674485802af89
MD5 112220f986dc1324a566c8bf1fb157e4
BLAKE2b-256 eb9789847fbe9eac6de567ca8d14c7939581440a092a4bee9230595851f7cc04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85f26cd0615694f951091fff345f6104c7f2b753a4327ae02deeed52a46dbfb1
MD5 1e2876d9d783a1147f0022bc7b3b1977
BLAKE2b-256 69b3b3c0a58157b6755eca6006e425f626c4a64a4bcbfa60246629f22caa173f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastlisaresponse_cuda11x-1.1.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62adb29ef3489973b3c6816f5f3338a2e0599af08549728ee3fcde46870d526b
MD5 777ed8fd076c64cc41a29255f7b15e19
BLAKE2b-256 7ece36b3239f17a10666d31bebf13c839927d1d21ae19bc823ee7ca47b8abe54

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