gpu-mm 0.0.1__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.
Files changed (44) hide show
  1. gpu_mm-0.0.1/.gitignore +10 -0
  2. gpu_mm-0.0.1/PKG-INFO +7 -0
  3. gpu_mm-0.0.1/README.md +20 -0
  4. gpu_mm-0.0.1/conda_env.yaml +171 -0
  5. gpu_mm-0.0.1/include/gpu_mm.hpp +498 -0
  6. gpu_mm-0.0.1/include/gpu_mm_internals.hpp +329 -0
  7. gpu_mm-0.0.1/include/plan_iterator.hpp +199 -0
  8. gpu_mm-0.0.1/meson.build +212 -0
  9. gpu_mm-0.0.1/pyproject.toml +27 -0
  10. gpu_mm-0.0.1/python/__init__.py +10 -0
  11. gpu_mm-0.0.1/python/__main__.py +18 -0
  12. gpu_mm-0.0.1/python/gpu_mm.py +339 -0
  13. gpu_mm-0.0.1/python/gpu_pointing.py +32 -0
  14. gpu_mm-0.0.1/python/gpu_utils.py +102 -0
  15. gpu_mm-0.0.1/python/pycufft.py +137 -0
  16. gpu_mm-0.0.1/python/tests.py +347 -0
  17. gpu_mm-0.0.1/scripts/gpu_mm_example.py +155 -0
  18. gpu_mm-0.0.1/scripts/make-xpointing-npzfile.py +62 -0
  19. gpu_mm-0.0.1/scripts/make-xpointing-npzfiles.sh +11 -0
  20. gpu_mm-0.0.1/scripts/test_cufft.py +46 -0
  21. gpu_mm-0.0.1/scripts/test_fit_subsamp_gpu.py +72 -0
  22. gpu_mm-0.0.1/scripts/test_fit_subsamp_gpu_clean.py +76 -0
  23. gpu_mm-0.0.1/src_lib/LocalPixelization.cu +96 -0
  24. gpu_mm-0.0.1/src_lib/OldPointingPlan.cu +190 -0
  25. gpu_mm-0.0.1/src_lib/PointingPlan.cu +372 -0
  26. gpu_mm-0.0.1/src_lib/PointingPlanTester.cu +220 -0
  27. gpu_mm-0.0.1/src_lib/PointingPrePlan.cu +293 -0
  28. gpu_mm-0.0.1/src_lib/ToyPointing.cu +136 -0
  29. gpu_mm-0.0.1/src_lib/check_arguments.cu +236 -0
  30. gpu_mm-0.0.1/src_lib/cuts.cu +57 -0
  31. gpu_mm-0.0.1/src_lib/gpu_point.cu +133 -0
  32. gpu_mm-0.0.1/src_lib/gpu_utils.cu +112 -0
  33. gpu_mm-0.0.1/src_lib/map2tod.cu +280 -0
  34. gpu_mm-0.0.1/src_lib/map2tod_old.cu +92 -0
  35. gpu_mm-0.0.1/src_lib/map2tod_reference.cu +62 -0
  36. gpu_mm-0.0.1/src_lib/map2tod_unplanned.cu +135 -0
  37. gpu_mm-0.0.1/src_lib/misc.cu +18 -0
  38. gpu_mm-0.0.1/src_lib/pycufft.cu +328 -0
  39. gpu_mm-0.0.1/src_lib/test_plan_iterator.cu +212 -0
  40. gpu_mm-0.0.1/src_lib/tod2map.cu +229 -0
  41. gpu_mm-0.0.1/src_lib/tod2map_old.cu +171 -0
  42. gpu_mm-0.0.1/src_lib/tod2map_reference.cu +61 -0
  43. gpu_mm-0.0.1/src_lib/tod2map_unplanned.cu +137 -0
  44. gpu_mm-0.0.1/src_pybind11/gpu_mm_pybind11.cu +243 -0
@@ -0,0 +1,10 @@
1
+ *~
2
+ *.o
3
+ scripts/__pycache__
4
+ lib/libgpu_mm.a
5
+ lib/libgpu_mm.so
6
+ bin/scratch
7
+ bin/test-map2tod
8
+ bin/time-map2tod
9
+ bin/test-tod2map
10
+ bin/time-tod2map
gpu_mm-0.0.1/PKG-INFO ADDED
@@ -0,0 +1,7 @@
1
+ Metadata-Version: 2.1
2
+ Name: gpu_mm
3
+ Version: 0.0.1
4
+ Summary: CMB map-making on GPUs
5
+ Requires-Dist: meson-python
6
+ Requires-Dist: pybind11
7
+ Requires-Dist: numpy
gpu_mm-0.0.1/README.md ADDED
@@ -0,0 +1,20 @@
1
+ Here's one way to install:
2
+ ```
3
+ conda create -n gpu_mm -f conda_env.yaml
4
+ # Or: conda create -c conda-forge -n gpu_mm cupy scipy matplotlib meson-python pybind11
5
+
6
+ conda activate gpu_mm
7
+
8
+ # Compile gputils library (note -b flag to select 'python' branch)
9
+ git clone https://github.com/kmsmith137/gputils -b python
10
+ cd gputils
11
+ pip install --no-cache-dir --no-build-isolation -v . # note weird pip flags
12
+ cd ..
13
+
14
+
15
+ # Compile gpu_mm library (note -b flag to select 'pip' branch)
16
+ git clone https://github.com/kmsmith137/gpu_mm -b pip
17
+ cd gpu_mm
18
+ pip install --no-cache-dir --no-build-isolation -v . # note weird pip flags
19
+ cd ..
20
+ ```
@@ -0,0 +1,171 @@
1
+ name: gpu_mm
2
+ channels:
3
+ - conda-forge
4
+ - defaults
5
+ dependencies:
6
+ - _libgcc_mutex=0.1=conda_forge
7
+ - _openmp_mutex=4.5=2_gnu
8
+ - alsa-lib=1.2.12=h4ab18f5_0
9
+ - attr=2.5.1=h166bdaf_1
10
+ - brotli=1.1.0=hd590300_1
11
+ - brotli-bin=1.1.0=hd590300_1
12
+ - bzip2=1.0.8=hd590300_5
13
+ - ca-certificates=2024.7.4=hbcca054_0
14
+ - cairo=1.18.0=hbb29018_2
15
+ - certifi=2024.6.2=pyhd8ed1ab_0
16
+ - contourpy=1.2.1=py312h8572e83_0
17
+ - cuda-nvrtc=12.5.40=he02047a_0
18
+ - cuda-version=12.5=hd4f0392_3
19
+ - cupy=13.2.0=py312had87585_0
20
+ - cupy-core=13.2.0=py312hd074ebb_0
21
+ - cycler=0.12.1=pyhd8ed1ab_0
22
+ - dbus=1.13.6=h5008d03_3
23
+ - expat=2.6.2=h59595ed_0
24
+ - fastrlock=0.8.2=py312h30efb56_2
25
+ - font-ttf-dejavu-sans-mono=2.37=hab24e00_0
26
+ - font-ttf-inconsolata=3.000=h77eed37_0
27
+ - font-ttf-source-code-pro=2.038=h77eed37_0
28
+ - font-ttf-ubuntu=0.83=h77eed37_2
29
+ - fontconfig=2.14.2=h14ed4e7_0
30
+ - fonts-conda-ecosystem=1=0
31
+ - fonts-conda-forge=1=0
32
+ - fonttools=4.53.0=py312h9a8786e_0
33
+ - freetype=2.12.1=h267a509_2
34
+ - gettext=0.22.5=h59595ed_2
35
+ - gettext-tools=0.22.5=h59595ed_2
36
+ - glib=2.80.2=h8a4344b_1
37
+ - glib-tools=2.80.2=h73ef956_1
38
+ - graphite2=1.3.13=h59595ed_1003
39
+ - gst-plugins-base=1.24.5=hbaaba92_0
40
+ - gstreamer=1.24.5=haf2f30d_0
41
+ - harfbuzz=8.5.0=hfac3d4d_0
42
+ - icu=73.2=h59595ed_0
43
+ - keyutils=1.6.1=h166bdaf_0
44
+ - kiwisolver=1.4.5=py312h8572e83_1
45
+ - krb5=1.21.3=h659f571_0
46
+ - lame=3.100=h166bdaf_1003
47
+ - lcms2=2.16=hb7c19ff_0
48
+ - ld_impl_linux-64=2.40=hf3520f5_7
49
+ - lerc=4.0.0=h27087fc_0
50
+ - libasprintf=0.22.5=h661eb56_2
51
+ - libasprintf-devel=0.22.5=h661eb56_2
52
+ - libblas=3.9.0=22_linux64_openblas
53
+ - libbrotlicommon=1.1.0=hd590300_1
54
+ - libbrotlidec=1.1.0=hd590300_1
55
+ - libbrotlienc=1.1.0=hd590300_1
56
+ - libcap=2.69=h0f662aa_0
57
+ - libcblas=3.9.0=22_linux64_openblas
58
+ - libclang-cpp15=15.0.7=default_h127d8a8_5
59
+ - libclang13=18.1.8=default_h6ae225f_0
60
+ - libcublas=12.5.2.13=he02047a_0
61
+ - libcufft=11.2.3.18=he02047a_0
62
+ - libcups=2.3.3=h4637d8d_4
63
+ - libcurand=10.3.6.39=he02047a_0
64
+ - libcusolver=11.6.2.40=he02047a_0
65
+ - libcusparse=12.4.1.24=he02047a_0
66
+ - libdeflate=1.20=hd590300_0
67
+ - libedit=3.1.20191231=he28a2e2_2
68
+ - libevent=2.1.12=hf998b51_1
69
+ - libexpat=2.6.2=h59595ed_0
70
+ - libffi=3.4.2=h7f98852_5
71
+ - libflac=1.4.3=h59595ed_0
72
+ - libgcc-ng=14.1.0=h77fa898_0
73
+ - libgcrypt=1.11.0=h4ab18f5_0
74
+ - libgettextpo=0.22.5=h59595ed_2
75
+ - libgettextpo-devel=0.22.5=h59595ed_2
76
+ - libgfortran-ng=14.1.0=h69a702a_0
77
+ - libgfortran5=14.1.0=hc5f4f2c_0
78
+ - libglib=2.80.2=h8a4344b_1
79
+ - libgomp=14.1.0=h77fa898_0
80
+ - libgpg-error=1.50=h4f305b6_0
81
+ - libiconv=1.17=hd590300_2
82
+ - libjpeg-turbo=3.0.0=hd590300_1
83
+ - liblapack=3.9.0=22_linux64_openblas
84
+ - libllvm15=15.0.7=hb3ce162_4
85
+ - libllvm18=18.1.8=hc9dba70_0
86
+ - libnsl=2.0.1=hd590300_0
87
+ - libnvjitlink=12.5.40=he02047a_0
88
+ - libogg=1.3.5=h4ab18f5_0
89
+ - libopenblas=0.3.27=pthreads_h413a1c8_0
90
+ - libopus=1.3.1=h7f98852_1
91
+ - libpng=1.6.43=h2797004_0
92
+ - libpq=16.3=ha72fbe1_0
93
+ - libsndfile=1.2.2=hc60ed4a_1
94
+ - libsqlite=3.46.0=hde9e2c9_0
95
+ - libstdcxx-ng=14.1.0=hc0a3c3a_0
96
+ - libsystemd0=255=h3516f8a_1
97
+ - libtiff=4.6.0=h1dd3fc0_3
98
+ - libuuid=2.38.1=h0b41bf4_0
99
+ - libvorbis=1.3.7=h9c3ff4c_0
100
+ - libwebp-base=1.4.0=hd590300_0
101
+ - libxcb=1.16=hd590300_0
102
+ - libxcrypt=4.4.36=hd590300_1
103
+ - libxkbcommon=1.7.0=h2c5496b_1
104
+ - libxml2=2.12.7=hc051c1a_1
105
+ - libzlib=1.3.1=h4ab18f5_1
106
+ - lz4-c=1.9.4=hcb278e6_0
107
+ - matplotlib=3.8.4=py312h7900ff3_2
108
+ - matplotlib-base=3.8.4=py312h20ab3a6_2
109
+ - meson=1.4.1=pyhd8ed1ab_0
110
+ - meson-python=0.16.0=pyh0c530f3_0
111
+ - mpg123=1.32.6=h59595ed_0
112
+ - munkres=1.1.4=pyh9f0ad1d_0
113
+ - mysql-common=8.3.0=hf1915f5_4
114
+ - mysql-libs=8.3.0=hca2cd23_4
115
+ - ncurses=6.5=h59595ed_0
116
+ - ninja=1.12.1=h297d8ca_0
117
+ - nspr=4.35=h27087fc_0
118
+ - nss=3.102=h593d115_0
119
+ - numpy=2.0.0=py312h22e1c76_0
120
+ - openjpeg=2.5.2=h488ebb8_0
121
+ - openssl=3.3.1=h4ab18f5_1
122
+ - packaging=24.1=pyhd8ed1ab_0
123
+ - pcre2=10.44=h0f59acf_0
124
+ - pillow=10.4.0=py312h287a98d_0
125
+ - pip=24.0=pyhd8ed1ab_0
126
+ - pixman=0.43.2=h59595ed_0
127
+ - ply=3.11=pyhd8ed1ab_2
128
+ - pthread-stubs=0.4=h36c2ea0_1001
129
+ - pulseaudio-client=17.0=hb77b528_0
130
+ - pybind11=2.13.1=py312h2492b07_0
131
+ - pybind11-global=2.13.1=py312h2492b07_0
132
+ - pyparsing=3.1.2=pyhd8ed1ab_0
133
+ - pyproject-metadata=0.8.0=pyhd8ed1ab_0
134
+ - pyqt=5.15.9=py312h949fe66_5
135
+ - pyqt5-sip=12.12.2=py312h30efb56_5
136
+ - python=3.12.4=h194c7f8_0_cpython
137
+ - python-dateutil=2.9.0=pyhd8ed1ab_0
138
+ - python_abi=3.12=4_cp312
139
+ - qt-main=5.15.8=ha2b5568_22
140
+ - readline=8.2=h8228510_1
141
+ - scipy=1.14.0=py312hc2bc53b_0
142
+ - setuptools=70.1.1=pyhd8ed1ab_0
143
+ - sip=6.7.12=py312h30efb56_0
144
+ - six=1.16.0=pyh6c4a22f_0
145
+ - tk=8.6.13=noxft_h4845f30_101
146
+ - toml=0.10.2=pyhd8ed1ab_0
147
+ - tomli=2.0.1=pyhd8ed1ab_0
148
+ - tornado=6.4.1=py312h9a8786e_0
149
+ - tzdata=2024a=h0c530f3_0
150
+ - wheel=0.43.0=pyhd8ed1ab_1
151
+ - xcb-util=0.4.1=hb711507_2
152
+ - xcb-util-image=0.4.0=hb711507_2
153
+ - xcb-util-keysyms=0.4.1=hb711507_0
154
+ - xcb-util-renderutil=0.3.10=hb711507_0
155
+ - xcb-util-wm=0.4.2=hb711507_0
156
+ - xkeyboard-config=2.42=h4ab18f5_0
157
+ - xorg-kbproto=1.0.7=h7f98852_1002
158
+ - xorg-libice=1.1.1=hd590300_0
159
+ - xorg-libsm=1.2.4=h7391055_0
160
+ - xorg-libx11=1.8.9=hb711507_1
161
+ - xorg-libxau=1.0.11=hd590300_0
162
+ - xorg-libxdmcp=1.1.3=h7f98852_0
163
+ - xorg-libxext=1.3.4=h0b41bf4_2
164
+ - xorg-libxrender=0.9.11=hd590300_0
165
+ - xorg-renderproto=0.11.1=h7f98852_1002
166
+ - xorg-xextproto=7.3.0=h0b41bf4_1003
167
+ - xorg-xf86vidmodeproto=2.3.1=h7f98852_1002
168
+ - xorg-xproto=7.0.31=h7f98852_1007
169
+ - xz=5.2.6=h166bdaf_0
170
+ - zlib=1.3.1=h4ab18f5_1
171
+ - zstd=1.5.6=ha6fb4c9_0