xrt
pyopencl
xrt | pyopencl | |
---|---|---|
1 | 2 | |
77 | 1,030 | |
- | - | |
8.9 | 8.1 | |
3 months ago | 6 days ago | |
Python | Python | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xrt
-
Does Python's GIL make it impossible to have efficient parallel computation?
I am working on simulations in the x-ray range, so fundamentals like propagators are the same, but approximations of optical elements and interactions are different. The x-rays are emitted by a synchrotron radiation source, i.e. an electron storage ring. The statistical properties of the wavefronts are determined by the phase space of the electrons in the storage ring, which is usually modeled by a 5D Gaussian distribution (space + momentum + energy). People are interested in the coherence properties of the emitted ensemble of wavefronts, so the simulation consists are drawing random parameters from the 5D Gaussian, calculating the wavefront emitted and propagating it to the points of interest. There, the wavefronts are collected and their coherence properties are evaluated. I use the coherence module of XRT for that: https://github.com/kklmn/xrt/blob/master/xrt/backends/raycing/coherence.py
pyopencl
-
An example for OpenCL 3.0?
Please note that OpenCL consists of two parts: host API and a separate language which is used to write kernels (code which is going to be offloaded to devices). OpenCL specification describes host APIs as C-style APIs and that is what implementors has to provide. However, there are number of various libraries which provides bindings for other languages: - C++ - Python - Go - Rust
-
Doubts on pyopencl
I thought the project could be dead, but then I looked into the latest commits to the repository, and it is certainly not dead as a project.
What are some alternatives?
prysm - physical optics: integrated modeling, phase retrieval, segmented systems, polynomials and fitting, sequential raytracing...
PyCUDA - CUDA integration for Python, plus shiny features
opt_einsum - ⚡️Optimizing einsum functions in NumPy, Tensorflow, Dask, and more with contraction order optimization.
python-performance - Repository for the book Fast Python - published by Manning
arrayfire-python - Python bindings for ArrayFire: A general purpose GPU library.
inventory-hunter - ⚡️ Get notified as soon as your next CPU, GPU, or game console is in stock
plotoptix - Data visualisation and ray tracing in Python based on OptiX 7.7 framework.
LSQR-CUDA - This is a LSQR-CUDA implementation written by Lawrence Ayers under the supervision of Stefan Guthe of the GRIS institute at the Technische Universität Darmstadt. The LSQR library was authored Chris Paige and Michael Saunders.
kernel_tuner - Kernel Tuner
scikit-cuda - Python interface to GPU-powered libraries
pyhpc-benchmarks - A suite of benchmarks for CPU and GPU performance of the most popular high-performance libraries for Python :rocket:
pla-reverse-gui - PySide6-based GUI for Seed Cracking and RNG w/o CFW assistance in Pokemon: Legends Arceus