fastlisaresponse 1.0.5__tar.gz → 1.0.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fastlisaresponse might be problematic. Click here for more details.

Files changed (31) hide show
  1. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/PKG-INFO +27 -38
  2. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/README.md +26 -37
  3. fastlisaresponse-1.0.6/fastlisaresponse/_version.py +1 -0
  4. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse/response.py +16 -9
  5. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse/utils/utility.py +2 -1
  6. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse.egg-info/PKG-INFO +27 -38
  7. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse.egg-info/SOURCES.txt +3 -4
  8. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse.egg-info/top_level.txt +0 -1
  9. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/pyproject.toml +2 -2
  10. fastlisaresponse-1.0.6/requirements.txt +9 -0
  11. fastlisaresponse-1.0.6/scripts/prebuild.py +24 -0
  12. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/setup.py +82 -67
  13. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/src/LISAResponse.cpp +17 -4
  14. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/src/responselisa_cpu.cpp +226 -217
  15. fastlisaresponse-1.0.5/fastlisaresponse/_version.py +0 -1
  16. fastlisaresponse-1.0.5/include/Detector.hpp +0 -75
  17. fastlisaresponse-1.0.5/scripts/prebuild.py +0 -51
  18. fastlisaresponse-1.0.5/src/Detector.cpp +0 -155
  19. fastlisaresponse-1.0.5/src/pycppdetector.cpp +0 -15496
  20. fastlisaresponse-1.0.5/src/pycppdetector.pyx +0 -183
  21. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/MANIFEST.in +0 -0
  22. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse/__init__.py +0 -0
  23. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse/cutils/__init__.py +0 -0
  24. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse/pointer_adjust.py +0 -0
  25. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse/utils/__init__.py +0 -0
  26. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse.egg-info/dependency_links.txt +0 -0
  27. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/fastlisaresponse.egg-info/not-zip-safe +0 -0
  28. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/include/LISAResponse.hh +0 -0
  29. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/include/cuda_complex.hpp +0 -0
  30. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/setup.cfg +0 -0
  31. {fastlisaresponse-1.0.5 → fastlisaresponse-1.0.6}/src/responselisa_cpu.pyx +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastlisaresponse
3
- Version: 1.0.5
3
+ Version: 1.0.6
4
4
  Home-page: https://github.com/mikekatz04/lisa-on-gpu
5
5
  Author: Michael Katz
6
6
  Author-email: mikekatz04@gmail.com
@@ -18,41 +18,18 @@ Description-Content-Type: text/markdown
18
18
 
19
19
  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.
20
20
 
21
- Please see the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) for further information on these modules. The code can be found on Github [here](https://github.com/mikekatz04/lisa-on-gpu). It can be found on # TODO fix [Zenodo](https://zenodo.org/record/3981654#.XzS_KRNKjlw).
21
+ Please see the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) for further information on these modules. The code can be found on Github [here](https://github.com/mikekatz04/lisa-on-gpu). It can be found on [Zenodo](https://zenodo.org/record/3981654#.XzS_KRNKjlw).
22
22
 
23
23
  If you use all or any parts of this code, please cite [arXiv:2204.06633](https://arxiv.org/abs/2204.06633). See the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) to properly cite specific modules.
24
24
 
25
- **Warning**: newest version (1.0.5) of code with `lisatools` orbits needs detailed testing before deployed for a paper.
26
25
 
27
26
  ## Getting Started
28
27
 
29
- Below is a quick set of instructions to get you started with `fastlisaresponse`.
30
-
31
- 0) [Install Anaconda](https://docs.anaconda.com/anaconda/install/) if you do not have it.
32
-
33
- 1) Create a virtual environment. **Note**: There is no available `conda` compiler for Windows. If you want to install for Windows, you will probably need to add libraries and include paths to the `setup.py` file.
34
-
35
- ```
36
- conda create -n lisa_env -c conda-forge gcc_linux-64 gxx_linux-64 numpy Cython scipy jupyter ipython h5py matplotlib python=3.9
37
- conda activate lisa_env
38
- ```
39
-
40
- If on MACOSX, substitute `gcc_linux-64` and `gxx_linus-64` with `clang_osx-64` and `clangxx_osx-64`.
41
-
42
- 2) Clone the repository.
43
-
44
- ```
45
- git clone https://github.com/mikekatz04/lisa-on-gpu.git
46
- cd lisa-on-gpu
28
+ Install with pip (CPU only for now):
47
29
  ```
48
-
49
- 3) Run install.
50
-
30
+ pip install fastlisaresponse
51
31
  ```
52
- python setup.py install
53
- ```
54
-
55
- 4) To import fastlisaresponse:
32
+ To import fastlisaresponse:
56
33
 
57
34
  ```
58
35
  from fastlisaresponse import ResponseWrapper
@@ -63,6 +40,8 @@ See [examples notebook](https://github.com/mikekatz04/lisa-on-gpu/blob/master/ex
63
40
 
64
41
  ### Prerequisites
65
42
 
43
+ Now (version 1.0.6) `fastlisaresponse` requires the newest version of [LISA Analysis Tools](github.com/mikekatz04/LISAanalysistools). You can run `pip install lisaanalysistools`.
44
+
66
45
  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.
67
46
 
68
47
  To install this software for use with NVIDIA GPUs (compute capability >2.0), you need the [CUDA toolkit](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) and [CuPy](https://cupy.chainer.org/). 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.
@@ -71,13 +50,20 @@ To install this software for use with NVIDIA GPUs (compute capability >2.0), you
71
50
  ### Installing
72
51
 
73
52
 
53
+ Install with pip (CPU only for now):
54
+ ```
55
+ pip install fastlisaresponse
56
+ ```
57
+
58
+ To install from source:
59
+
74
60
  0) [Install Anaconda](https://docs.anaconda.com/anaconda/install/) if you do not have it.
75
61
 
76
62
  1) Create a virtual environment.
77
63
 
78
64
  ```
79
- conda create -n lisa_env -c conda-forge gcc_linux-64 gxx_linux-64 numpy Cython scipy jupyter ipython h5py matplotlib python=3.9
80
- conda activate few_env
65
+ 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
66
+ conda activate lisa_resp_env
81
67
  ```
82
68
 
83
69
  If on MACOSX, substitute `gcc_linux-64` and `gxx_linus-64` with `clang_osx-64` and `clangxx_osx-64`.
@@ -87,26 +73,29 @@ conda activate few_env
87
73
  2) Clone the repository.
88
74
 
89
75
  ```
90
- git clone https://github.com/BlackHolePerturbationToolkit/FastEMRIWaveforms.git
91
- cd FastEMRIWaveforms
76
+ git clone https://github.com/mikekatz04/lisa-on-gpu.git
77
+ cd lisa-on-gpu
92
78
  ```
93
79
 
94
- 3) If using GPUs, use pip to [install cupy](https://docs-cupy.chainer.org/en/stable/install.html). If you have cuda version 9.2, for example:
80
+ 3) If using GPUs, use pip to [install cupy](https://docs-cupy.chainer.org/en/stable/install.html).
95
81
 
96
82
  ```
97
- pip install cupy-cuda92
83
+ pip install cupy-12x
98
84
  ```
99
85
 
100
86
  4) Run install. Make sure CUDA is on your PATH.
101
87
 
102
88
  ```
103
- python setup.py install
89
+ python scripts/prebuild.py
90
+ pip install .
104
91
  ```
105
92
 
106
93
  ## Running the Tests
107
94
 
108
- Since the code package in minimal in size, the example notebook should be run to verify it is running correctly.
109
-
95
+ Run the example notebook or the tests using `unittest` from the main directory of the code:
96
+ ```
97
+ python -m unittest discover
98
+ ```
110
99
 
111
100
  ## Contributing
112
101
 
@@ -116,7 +105,7 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduc
116
105
 
117
106
  We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/mikekatz04/lisa-on-gpu/tags).
118
107
 
119
- Current Version: 1.0.5
108
+ Current Version: 1.0.6
120
109
 
121
110
  ## Authors
122
111
 
@@ -2,41 +2,18 @@
2
2
 
3
3
  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.
4
4
 
5
- Please see the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) for further information on these modules. The code can be found on Github [here](https://github.com/mikekatz04/lisa-on-gpu). It can be found on # TODO fix [Zenodo](https://zenodo.org/record/3981654#.XzS_KRNKjlw).
5
+ Please see the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) for further information on these modules. The code can be found on Github [here](https://github.com/mikekatz04/lisa-on-gpu). It can be found on [Zenodo](https://zenodo.org/record/3981654#.XzS_KRNKjlw).
6
6
 
7
7
  If you use all or any parts of this code, please cite [arXiv:2204.06633](https://arxiv.org/abs/2204.06633). See the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) to properly cite specific modules.
8
8
 
9
- **Warning**: newest version (1.0.5) of code with `lisatools` orbits needs detailed testing before deployed for a paper.
10
9
 
11
10
  ## Getting Started
12
11
 
13
- Below is a quick set of instructions to get you started with `fastlisaresponse`.
14
-
15
- 0) [Install Anaconda](https://docs.anaconda.com/anaconda/install/) if you do not have it.
16
-
17
- 1) Create a virtual environment. **Note**: There is no available `conda` compiler for Windows. If you want to install for Windows, you will probably need to add libraries and include paths to the `setup.py` file.
18
-
19
- ```
20
- conda create -n lisa_env -c conda-forge gcc_linux-64 gxx_linux-64 numpy Cython scipy jupyter ipython h5py matplotlib python=3.9
21
- conda activate lisa_env
22
- ```
23
-
24
- If on MACOSX, substitute `gcc_linux-64` and `gxx_linus-64` with `clang_osx-64` and `clangxx_osx-64`.
25
-
26
- 2) Clone the repository.
27
-
28
- ```
29
- git clone https://github.com/mikekatz04/lisa-on-gpu.git
30
- cd lisa-on-gpu
12
+ Install with pip (CPU only for now):
31
13
  ```
32
-
33
- 3) Run install.
34
-
14
+ pip install fastlisaresponse
35
15
  ```
36
- python setup.py install
37
- ```
38
-
39
- 4) To import fastlisaresponse:
16
+ To import fastlisaresponse:
40
17
 
41
18
  ```
42
19
  from fastlisaresponse import ResponseWrapper
@@ -47,6 +24,8 @@ See [examples notebook](https://github.com/mikekatz04/lisa-on-gpu/blob/master/ex
47
24
 
48
25
  ### Prerequisites
49
26
 
27
+ Now (version 1.0.6) `fastlisaresponse` requires the newest version of [LISA Analysis Tools](github.com/mikekatz04/LISAanalysistools). You can run `pip install lisaanalysistools`.
28
+
50
29
  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.
51
30
 
52
31
  To install this software for use with NVIDIA GPUs (compute capability >2.0), you need the [CUDA toolkit](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) and [CuPy](https://cupy.chainer.org/). 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.
@@ -55,13 +34,20 @@ To install this software for use with NVIDIA GPUs (compute capability >2.0), you
55
34
  ### Installing
56
35
 
57
36
 
37
+ Install with pip (CPU only for now):
38
+ ```
39
+ pip install fastlisaresponse
40
+ ```
41
+
42
+ To install from source:
43
+
58
44
  0) [Install Anaconda](https://docs.anaconda.com/anaconda/install/) if you do not have it.
59
45
 
60
46
  1) Create a virtual environment.
61
47
 
62
48
  ```
63
- conda create -n lisa_env -c conda-forge gcc_linux-64 gxx_linux-64 numpy Cython scipy jupyter ipython h5py matplotlib python=3.9
64
- conda activate few_env
49
+ 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
50
+ conda activate lisa_resp_env
65
51
  ```
66
52
 
67
53
  If on MACOSX, substitute `gcc_linux-64` and `gxx_linus-64` with `clang_osx-64` and `clangxx_osx-64`.
@@ -71,26 +57,29 @@ conda activate few_env
71
57
  2) Clone the repository.
72
58
 
73
59
  ```
74
- git clone https://github.com/BlackHolePerturbationToolkit/FastEMRIWaveforms.git
75
- cd FastEMRIWaveforms
60
+ git clone https://github.com/mikekatz04/lisa-on-gpu.git
61
+ cd lisa-on-gpu
76
62
  ```
77
63
 
78
- 3) If using GPUs, use pip to [install cupy](https://docs-cupy.chainer.org/en/stable/install.html). If you have cuda version 9.2, for example:
64
+ 3) If using GPUs, use pip to [install cupy](https://docs-cupy.chainer.org/en/stable/install.html).
79
65
 
80
66
  ```
81
- pip install cupy-cuda92
67
+ pip install cupy-12x
82
68
  ```
83
69
 
84
70
  4) Run install. Make sure CUDA is on your PATH.
85
71
 
86
72
  ```
87
- python setup.py install
73
+ python scripts/prebuild.py
74
+ pip install .
88
75
  ```
89
76
 
90
77
  ## Running the Tests
91
78
 
92
- Since the code package in minimal in size, the example notebook should be run to verify it is running correctly.
93
-
79
+ Run the example notebook or the tests using `unittest` from the main directory of the code:
80
+ ```
81
+ python -m unittest discover
82
+ ```
94
83
 
95
84
  ## Contributing
96
85
 
@@ -100,7 +89,7 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduc
100
89
 
101
90
  We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/mikekatz04/lisa-on-gpu/tags).
102
91
 
103
- Current Version: 1.0.5
92
+ Current Version: 1.0.6
104
93
 
105
94
  ## Authors
106
95
 
@@ -0,0 +1 @@
1
+ __version__ = '1.0.6'
@@ -8,8 +8,8 @@ from copy import deepcopy
8
8
 
9
9
  try:
10
10
  import cupy as cp
11
- from pyresponse import get_response_wrap as get_response_wrap_gpu
12
- from pyresponse import get_tdi_delays_wrap as get_tdi_delays_wrap_gpu
11
+ from pyresponse_gpu import get_response_wrap as get_response_wrap_gpu
12
+ from pyresponse_gpu import get_tdi_delays_wrap as get_tdi_delays_wrap_gpu
13
13
 
14
14
  gpu = True
15
15
 
@@ -153,13 +153,6 @@ class pyResponseTDI(object):
153
153
 
154
154
  # setup functions for GPU or CPU
155
155
  self.use_gpu = use_gpu
156
- if use_gpu:
157
- self.response_gen = get_response_wrap_gpu
158
- self.tdi_gen = get_tdi_delays_wrap_gpu
159
-
160
- else:
161
- self.response_gen = get_response_wrap_cpu
162
- self.tdi_gen = get_tdi_delays_wrap_cpu
163
156
 
164
157
  # prepare the interpolation of A and E in the Lagrangian interpolation
165
158
  self._fill_A_E()
@@ -183,6 +176,16 @@ class pyResponseTDI(object):
183
176
  # setup TDI info
184
177
  self._init_TDI_delays()
185
178
 
179
+ @property
180
+ def response_gen(self) -> callable:
181
+ """CPU/GPU function for generating the projections."""
182
+ return get_response_wrap_cpu if not self.use_gpu else get_response_wrap_gpu
183
+
184
+ @property
185
+ def tdi_gen(self) -> callable:
186
+ """CPU/GPU function for generating tdi."""
187
+ return get_tdi_delays_wrap_cpu if not self.use_gpu else get_tdi_delays_wrap_gpu
188
+
186
189
  @property
187
190
  def xp(self) -> object:
188
191
  return np if not self.use_gpu else cp
@@ -219,6 +222,7 @@ class pyResponseTDI(object):
219
222
  orbits = EqualArmlengthOrbits()
220
223
 
221
224
  assert isinstance(orbits, Orbits)
225
+ assert orbits.use_gpu == self.use_gpu
222
226
 
223
227
  self._tdi_orbits = deepcopy(orbits)
224
228
 
@@ -644,6 +648,9 @@ class ResponseWrapper:
644
648
  the number of points, ``n``, from ``int(T/dt)`` to the ``n_overide``. This is used
645
649
  if there is an issue matching points between the waveform generator and the response
646
650
  model.
651
+ orbits (:class:`Orbits`, optional): Orbits class from LISA Analysis Tools. Works with LISA Orbits
652
+ outputs: `lisa-simulation.pages.in2p3.fr/orbits/ <https://lisa-simulation.pages.in2p3.fr/orbits/latest/>`_.
653
+ (default: :class:`EqualArmlengthOrbits`)
647
654
  **kwargs (dict, optional): Keyword arguments passed to :class:`pyResponseTDI`.
648
655
 
649
656
  """
@@ -71,9 +71,10 @@ def get_overlap(sig1, sig2, phase_maximize=False, use_gpu=False):
71
71
  np.dot(np.fft.rfft(sig1_i).conj(), np.fft.rfft(sig1_i))
72
72
  * np.dot(np.fft.rfft(sig2_i).conj(), np.fft.rfft(sig2_i))
73
73
  )
74
-
75
74
  overlap += overlap_i
76
75
 
76
+ overlap /= len(sig1)
77
+
77
78
  if phase_maximize:
78
79
  return np.abs(overlap)
79
80
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastlisaresponse
3
- Version: 1.0.5
3
+ Version: 1.0.6
4
4
  Home-page: https://github.com/mikekatz04/lisa-on-gpu
5
5
  Author: Michael Katz
6
6
  Author-email: mikekatz04@gmail.com
@@ -18,41 +18,18 @@ Description-Content-Type: text/markdown
18
18
 
19
19
  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.
20
20
 
21
- Please see the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) for further information on these modules. The code can be found on Github [here](https://github.com/mikekatz04/lisa-on-gpu). It can be found on # TODO fix [Zenodo](https://zenodo.org/record/3981654#.XzS_KRNKjlw).
21
+ Please see the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) for further information on these modules. The code can be found on Github [here](https://github.com/mikekatz04/lisa-on-gpu). It can be found on [Zenodo](https://zenodo.org/record/3981654#.XzS_KRNKjlw).
22
22
 
23
23
  If you use all or any parts of this code, please cite [arXiv:2204.06633](https://arxiv.org/abs/2204.06633). See the [documentation](https://mikekatz04.github.io/lisa-on-gpu/) to properly cite specific modules.
24
24
 
25
- **Warning**: newest version (1.0.5) of code with `lisatools` orbits needs detailed testing before deployed for a paper.
26
25
 
27
26
  ## Getting Started
28
27
 
29
- Below is a quick set of instructions to get you started with `fastlisaresponse`.
30
-
31
- 0) [Install Anaconda](https://docs.anaconda.com/anaconda/install/) if you do not have it.
32
-
33
- 1) Create a virtual environment. **Note**: There is no available `conda` compiler for Windows. If you want to install for Windows, you will probably need to add libraries and include paths to the `setup.py` file.
34
-
35
- ```
36
- conda create -n lisa_env -c conda-forge gcc_linux-64 gxx_linux-64 numpy Cython scipy jupyter ipython h5py matplotlib python=3.9
37
- conda activate lisa_env
38
- ```
39
-
40
- If on MACOSX, substitute `gcc_linux-64` and `gxx_linus-64` with `clang_osx-64` and `clangxx_osx-64`.
41
-
42
- 2) Clone the repository.
43
-
44
- ```
45
- git clone https://github.com/mikekatz04/lisa-on-gpu.git
46
- cd lisa-on-gpu
28
+ Install with pip (CPU only for now):
47
29
  ```
48
-
49
- 3) Run install.
50
-
30
+ pip install fastlisaresponse
51
31
  ```
52
- python setup.py install
53
- ```
54
-
55
- 4) To import fastlisaresponse:
32
+ To import fastlisaresponse:
56
33
 
57
34
  ```
58
35
  from fastlisaresponse import ResponseWrapper
@@ -63,6 +40,8 @@ See [examples notebook](https://github.com/mikekatz04/lisa-on-gpu/blob/master/ex
63
40
 
64
41
  ### Prerequisites
65
42
 
43
+ Now (version 1.0.6) `fastlisaresponse` requires the newest version of [LISA Analysis Tools](github.com/mikekatz04/LISAanalysistools). You can run `pip install lisaanalysistools`.
44
+
66
45
  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.
67
46
 
68
47
  To install this software for use with NVIDIA GPUs (compute capability >2.0), you need the [CUDA toolkit](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) and [CuPy](https://cupy.chainer.org/). 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.
@@ -71,13 +50,20 @@ To install this software for use with NVIDIA GPUs (compute capability >2.0), you
71
50
  ### Installing
72
51
 
73
52
 
53
+ Install with pip (CPU only for now):
54
+ ```
55
+ pip install fastlisaresponse
56
+ ```
57
+
58
+ To install from source:
59
+
74
60
  0) [Install Anaconda](https://docs.anaconda.com/anaconda/install/) if you do not have it.
75
61
 
76
62
  1) Create a virtual environment.
77
63
 
78
64
  ```
79
- conda create -n lisa_env -c conda-forge gcc_linux-64 gxx_linux-64 numpy Cython scipy jupyter ipython h5py matplotlib python=3.9
80
- conda activate few_env
65
+ 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
66
+ conda activate lisa_resp_env
81
67
  ```
82
68
 
83
69
  If on MACOSX, substitute `gcc_linux-64` and `gxx_linus-64` with `clang_osx-64` and `clangxx_osx-64`.
@@ -87,26 +73,29 @@ conda activate few_env
87
73
  2) Clone the repository.
88
74
 
89
75
  ```
90
- git clone https://github.com/BlackHolePerturbationToolkit/FastEMRIWaveforms.git
91
- cd FastEMRIWaveforms
76
+ git clone https://github.com/mikekatz04/lisa-on-gpu.git
77
+ cd lisa-on-gpu
92
78
  ```
93
79
 
94
- 3) If using GPUs, use pip to [install cupy](https://docs-cupy.chainer.org/en/stable/install.html). If you have cuda version 9.2, for example:
80
+ 3) If using GPUs, use pip to [install cupy](https://docs-cupy.chainer.org/en/stable/install.html).
95
81
 
96
82
  ```
97
- pip install cupy-cuda92
83
+ pip install cupy-12x
98
84
  ```
99
85
 
100
86
  4) Run install. Make sure CUDA is on your PATH.
101
87
 
102
88
  ```
103
- python setup.py install
89
+ python scripts/prebuild.py
90
+ pip install .
104
91
  ```
105
92
 
106
93
  ## Running the Tests
107
94
 
108
- Since the code package in minimal in size, the example notebook should be run to verify it is running correctly.
109
-
95
+ Run the example notebook or the tests using `unittest` from the main directory of the code:
96
+ ```
97
+ python -m unittest discover
98
+ ```
110
99
 
111
100
  ## Contributing
112
101
 
@@ -116,7 +105,7 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduc
116
105
 
117
106
  We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/mikekatz04/lisa-on-gpu/tags).
118
107
 
119
- Current Version: 1.0.5
108
+ Current Version: 1.0.6
120
109
 
121
110
  ## Authors
122
111
 
@@ -1,7 +1,10 @@
1
1
  MANIFEST.in
2
2
  README.md
3
3
  pyproject.toml
4
+ requirements.txt
4
5
  setup.py
6
+ /Users/mlkatz1/miniconda3/envs/lisa_env/lib/python3.12/site-packages/lisatools/cutils/src/Detector.cpp
7
+ /private/var/folders/j0/bh276m5s531565_7zdy_t5m40000gp/T/build-env-3u90mig5/lib/python3.12/site-packages/lisatools/cutils/src/Detector.cpp
5
8
  fastlisaresponse/__init__.py
6
9
  fastlisaresponse/_version.py
7
10
  fastlisaresponse/pointer_adjust.py
@@ -14,13 +17,9 @@ fastlisaresponse.egg-info/top_level.txt
14
17
  fastlisaresponse/cutils/__init__.py
15
18
  fastlisaresponse/utils/__init__.py
16
19
  fastlisaresponse/utils/utility.py
17
- include/Detector.hpp
18
20
  include/LISAResponse.hh
19
21
  include/cuda_complex.hpp
20
22
  scripts/prebuild.py
21
- src/Detector.cpp
22
23
  src/LISAResponse.cpp
23
- src/pycppdetector.cpp
24
- src/pycppdetector.pyx
25
24
  src/responselisa_cpu.cpp
26
25
  src/responselisa_cpu.pyx
@@ -1,2 +1 @@
1
1
  fastlisaresponse
2
- pyresponse_cpu
@@ -1,11 +1,11 @@
1
1
 
2
2
  [build-system]
3
- requires = ["setuptools", "wheel", "Cython", "numpy"]
3
+ requires = ["setuptools", "wheel", "Cython", "numpy", "lisaanalysistools"]
4
4
  build-backend = 'setuptools.build_meta'
5
5
 
6
6
  [tool.poetry]
7
7
  name = "fastlisaresponse"
8
- version = "1.0.5"
8
+ version = "1.0.6"
9
9
  description = "GPU/CPU TD LISA Response Function"
10
10
  license = "Apache"
11
11
  classifiers = ["Programming Language :: Python :: 3", "Operating System :: OS Independent"]
@@ -0,0 +1,9 @@
1
+ numpy
2
+ pandas
3
+ Cython
4
+ scipy
5
+ tqdm
6
+ h5py
7
+ requests
8
+ matplotlib
9
+ LISAanalysistools
@@ -0,0 +1,24 @@
1
+ import shutil
2
+
3
+ fps_cu_to_cpp = ["src/LISAResponse"]
4
+ fps_pyx = ["src/responselisa"]
5
+
6
+ for fp in fps_cu_to_cpp:
7
+ shutil.copy(fp + ".cu", fp + ".cpp")
8
+
9
+ for fp in fps_pyx:
10
+ shutil.copy(fp + ".pyx", fp + "_cpu.pyx")
11
+
12
+
13
+ # setup version file
14
+ with open("README.md", "r") as fh:
15
+ lines = fh.readlines()
16
+
17
+ for line in lines:
18
+ if line.startswith("Current Version"):
19
+ version_string = line.split("Current Version: ")[1].split("\n")[0]
20
+
21
+ with open("fastlisaresponse/_version.py", "w") as f:
22
+ f.write("__version__ = '{}'".format(version_string))
23
+
24
+ import requests