Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Meent is an Electromagnetic(EM) simulation package with Python, composed of three main parts:
Meent provides three libraries as a backend:
Numpy | JAX | PyTorch | Description | |
---|---|---|---|---|
64bit support | O | O | O | Default for scientific computing |
32bit support | O | O | O | 32bit (float32 and complex64) data type operation* |
GPU support | X | O | O | except Eigendecomposition** |
TPU support* | X | X | X | Currently there is no workaround to do 32 bit eigendecomposition on TPU |
AD support | X | O | O | Automatic Differentiation (Back Propagation) |
Parallelization | X | O | X | JAX pmap function |
*In 32bit operation, operations on numbers of 8>= digit difference fail without warning or error.
Use only when you do understand what you are doing.
**As of now(2023.03.19), GPU-native Eigendecomposition is not implemented in JAX and PyTorch.
It's enforced to run on CPUs and send back to GPUs.
Numpy is simple and light to use. Suggested as a baseline with small ~ medium scale optics problem.
JAX and PyTorch is recommended for cases having large scale or optimization part.
If you want parallelized computing with multiple devices(e.g., GPUs), JAX is ready for that.
But since JAX does jit compilation, it takes much time at the first run.
pip install meent
JAX and PyTorch is needed for advanced utilization.
import meent
# backend 0 = Numpy
# backend 1 = JAX
# backend 2 = PyTorch
backend = 1
mee = meent.call_mee(backend=backend, ...)
Jupyter notebooks are prepared in tutorials to give a brief introduction.
Comprehensive examples of computational optics with Meent can be found in examples
folder.
To cite this repository:
@article{kim2024meent,
title={Meent: Differentiable Electromagnetic Simulator for Machine Learning},
author={Kim, Yongha and Jung, Anthony W. and Kim, Sanmun and
Octavian, Kevin and Heo, Doyoung and Park, Chaejin and
Shin, Jeongmin and Nam, Sunghyun and Park, Chanhyung and
Park, Juho and Han, Sangjun and Lee, Jinmyoung and
Kim, Seolho and Jang, Min Seok and Park, Chan Y.},
journal={arXiv preprint arXiv:2406.12904},
year={2024}
}
FAQs
Electromagnetic simulation (RCWA) & optimization package in Python
We found that meent demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.