
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
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 2 open source maintainers 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
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.