- Eduardo X. Miqueles, LNLS/CNPEM
- Yuri R. Tonin
- Giovanni Baraldi
- Alan Zanoni Peixinho, LNLS/CNPEM
- Leonardo M. Corrêa, LNLS/CNPEM
- Lucas Antonio Pelike, LNLS/CNPEM
- Paola Ferraz, LNLS/CNPEM
- Yuri R. Tonin
- Giovanni Baraldi
- Mauro Luiz Brandao-Junior, LNLS/CNPEM
- Camila F. A. Lages
- Julia C. Carvalho
We would like to acknowledge the Brazilian Ministry of Science, Technology, and Innovation MCTI for supporting this work through the Brazilian Center for Research in Energy and Materials (CNPEM).
Sirius Scientific Computing Team: [email protected]
The package documentation can be found on the GCC website https://gcc.lnls.br/ssc/ssc-cdi/index.html inside the CNPEM network.
Also, the HTML documentation can be found in the source directory ./docs/build/index.html and can be opened with your preferred brownser.
If you use this package in your research, please cite the following publication:
@Article{jimaging10110286,
AUTHOR = {Tonin, Yuri Rossi and Peixinho, Alan Zanoni and Brandao-Junior, Mauro Luiz and Ferraz, Paola and Miqueles, Eduardo Xavier},
TITLE = {ssc-cdi: A Memory-Efficient, Multi-GPU Package for Ptychography with Extreme Data},
JOURNAL = {Journal of Imaging},
VOLUME = {10},
YEAR = {2024},
NUMBER = {11},
ARTICLE-NUMBER = {286},
URL = {https://www.mdpi.com/2313-433X/10/11/286},
PubMedID = {39590749},
ISSN = {2313-433X}
}
This package uses C, C++, CUDA and Python3.
See bellow for full requirements.
The library sscCdi can be installed with form the source code or by pip/git if inside the CNPEM network.
One can clone our public github repository and install the latest version by:
git clone https://github.com/cnpem/ssc-cdi.git
cd ssc-cdi
make clean && makeFor a specific version, one can use:
git clone https://github.com/cnpem/ssc-cdi.git --branch v<version> --single-branch
cd ssc-cdi
make clean && makeThe <version> is the version of the sscCdi to be installed. Example, to install version 0.14.2
git clone https://github.com/cnpem/ssc-cdi.git --branch v0.14.2 --single-branch
cd ssc-cdi
make clean && makeThe source code can be downloaded from zenodo website under the DOI:10.5281/zenodo.13693177.
On the left panel, one can find
the available versions. Select the version want and download the ssc-cdi.tar.gz with the source files, one can decompress by
tar -xvf ssc-cdi.tar.gzTo compile the source files, enter the following command inside the folder
make clean && makeWarning: This installation option is available only inside the CNPEM network.
One can install the latest version of sscCdi directly from the pip server
pip install sscCdi==<version> --index-url https://gitlab.cnpem.br/api/v4/projects/1978/packages/pypi/simple
Where <version> is the version number of the sscCdi
pip install sscCdi==0.14.2 --index-url https://gitlab.cnpem.br/api/v4/projects/1978/packages/pypi/simpleWarning: For this installation option is available only inside the CNPEM network.
One can clone our gitlab repository and install the latest version by:
git clone https://gitlab.cnpem.br/GCC/ssc-cdi.git
cd ssc-cdi
make clean && makeFor a specific version, one can use:
git clone https://gitlab.cnpem.br/GCC/ssc-cdi.git --branch v<version> --single-branch
cd ssc-cdi
make clean && makeThe <version> is the version of the sscCdi to be installed. Example, to install version 0.14.2
git clone https://gitlab.cnpem.br/GCC/ssc-cdi.git --branch v0.14.2 --single-branch
cd ssc-cdi
make clean && makeBe careful using GPU functions due to memory allocation.
Before installation, you will need the following packages installed:
CUDA >= 10.0.0CC++Python >= 3.8.0PIPlibcurl4-openssl-devscikit-build>=0.17.0setuptools>=60.0.0ninja==1.11.1.1wheel==0.45.0CMAKE>=3.18
This package supports nvidia GPUs with capabilities 7.0 or superior and a compiler with support to c++17.
The following modules are used:
CUBLASCUFFTPTHREADS
The following Python3 modules are used:
numpy<2.0scikit-imagescipymatplotlibSharedArrayh5pycupyipywidgetstqdm
To uninstall sscCdi use the command, independent of the instalation method,
pip uninstall sscCdi