0. install pysap¶
python
pip install git+https://github.com/CEA-COSMIC/pysap.git
1. install Sparse2D¶
python
from pysap.extensions import sparse2d
print(sparse2d)
output
/home/home/miniconda3/envs/tensor/lib/python3.11/site-packages/pysap/extensions/transform.py:41: UserWarning: Sparse2D Python bindings not found. Any call to a Sparse2D transform or a plug-in method that uses a Sparse2D transform will result in an error.
warnings.warn(
/home/home/miniconda3/envs/tensor/lib/python3.11/site-packages/pysap/extensions/sparse2d.py:25: UserWarning: Sparse2d python bindings not found, use binaries.
warnings.warn("Sparse2d python bindings not found, use binaries.")
bash
git clone https://github.com/CosmoStat/Sparse2D.git
cd Sparse2D
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../install -DONLY_SPARSE=ON -DUSE_FFTW=OFF -DBUILD_CFITSIO=ON
make -j8
make install
find path of pysparse.cpython-311-x86_64-linux-gnu.so, then add path like
bash
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/home/projects/tensor/Sparse2D/install/lib' >> ~/.bashrc
source ~/.bashrc
python
from pysap.extensions import sparse2d
print(sparse2d)
output
<module 'pysap.extensions.sparse2d' from '/home/home/miniconda3/envs/tensor/lib/python3.11/site-packages/pysap/extensions/sparse2d.py'>
2. check for dependencies of shared libraries¶
bash
ldd /home/home/projects/tensor/Sparse2D/install/lib/pysparse.cpython-311-x86_64-linux-gnu.so
output
linux-vdso.so.1 (0x00007ffd579f7000)
libcfitsio.so.9 => not found
libpython3.11.so.1.0 => not found
libgomp.so.1 => /home/home/miniconda3/envs/tensor/lib/libgomp.so.1 (0x00007f250db52000)
libstdc++.so.6 => /home/home/miniconda3/envs/tensor/lib/libstdc++.so.6 (0x00007f250d93e000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f250d84c000)
libgcc_s.so.1 => /home/home/miniconda3/envs/tensor/lib/libgcc_s.so.1 (0x00007f250d832000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f250d620000)
libz.so.1 => /home/home/miniconda3/envs/tensor/lib/libz.so.1 (0x00007f250d602000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f250d5fd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f250d5f8000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f250d5f1000)
/lib64/ld-linux-x86-64.so.2 (0x00007f250e637000)
find path of libcfitsio.so.9 , then add path like
bash
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/home/projects/tensor/Sparse2D/build/lib' >> ~/.bashrc
source ~/.bashrc
find path of libpython3.11.so.1.0 , then add path like
bash
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/home/miniconda3/envs/tensor/lib' >> ~/.bashrc
source ~/.bashrc
If can not find
libcfitsio.so.9orlibpython3.11.so.1.0, first dosudo apt-get install libcfitsio-dev
bash
echo $LD_LIBRARY_PATH
output echo $LD_LIBRARY_PATH /usr/local/cuda-12.6/lib64::/home/home/projects/tensor/Sparse2D/build/lib:/home/home/projects/tensor/Sparse2D/install/lib:/home/home/miniconda3/envs/tensor/lib
bash
ldd /home/home/projects/tensor/Sparse2D/install/lib/pysparse.cpython-311-x86_64-linux-gnu.so
output
linux-vdso.so.1 (0x00007ffd72dcf000)
libcfitsio.so.9 => /home/home/projects/tensor/Sparse2D/build/lib/libcfitsio.so.9 (0x00007f0ca309b000)
libpython3.11.so.1.0 => /home/home/miniconda3/envs/tensor/lib/libpython3.11.so.1.0 (0x00007f0ca2ace000)
libgomp.so.1 => /home/home/miniconda3/envs/tensor/lib/libgomp.so.1 (0x00007f0ca2a8a000)
libstdc++.so.6 => /home/home/miniconda3/envs/tensor/lib/libstdc++.so.6 (0x00007f0ca2876000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0ca2784000)
libgcc_s.so.1 => /home/home/miniconda3/envs/tensor/lib/libgcc_s.so.1 (0x00007f0ca276a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ca2558000)
libz.so.1 => /home/home/miniconda3/envs/tensor/lib/libz.so.1 (0x00007f0ca253a000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0ca2535000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0ca2530000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f0ca2529000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0ca356f000)
3. test¶
python
from pysap.extensions import sparse2d
print(sparse2d)
output
<module 'pysap.extensions.sparse2d' from '/home/home/miniconda3/envs/tensor/lib/python3.11/site-packages/pysap/extensions/sparse2d.py'>
python
import pysparse
print(pysparse)
output
<module 'pysparse' from '/home/home/miniconda3/envs/tensor/lib/python3.11/site-packages/pysparse.cpython-311-x86_64-linux-gnu.so'>