Repository navigation
Releases: hyoseokp/TorchFDTD
Release list
TorchFDTD 1.1.7
TorchFDTD 1.1.7
Added
- Reversible isotropic Lorentz density mixtures for periodic and recorded CPML point/plane adjoints, with packed CUDA poles and z-dependent fixed backgrounds.
- Timestep-specific discrete material fitting, first-order density gradients, immutable retained VJPs and complete terminal-pole offload/memory admission.
- A small dispersive voxel example and capability/installation records for this version.
Validation and limits
The exact wheel passed 15 installation checks and 16 CUDA feature regressions on one RTX 3060. CPU feature/related checks were reused only for unchanged numerical modules. The exact-main Verify run passed. The supplied original v2 patch and formal API agree within 3.8e-8 relative L2 for an independently computed 151-frequency A100 fixture under matching inputs.
This remains an experimental real-FP32 isotropic, first-derivative API. Fits depend on timestep/band; damping inversion is limited by its conditioning horizon. Multi-GPU, RTX 5880 and a new full legacy RC are unvalidated. See the scope.
Downloads
SHA-256
e171aeec5a90eeaa2da2c9f04460f81ca3b9df2a9ec49470ee76b04be0602b5b torchfdtd-1.1.7-py3-none-any.whl
5be0b78f0d2a77363a5d5cac70b1892c8966a23e446d449f62ad0dc41c18cfb0 torchfdtd-1.1.7-examples.zip
TorchFDTD 1.1.6
Adds the meta-atom libraries of the baseline designs to examples/full-aperture-tiled-adjoint (libraries/), corrects the source data of Supplementary Fig. 9 to the apertures and wavelengths of the three plotted designs, and names the examples in the README as in the paper. The solver code is unchanged from 1.1.4.
TorchFDTD 1.1.5
Adds examples/full-aperture-tiled-adjoint: full-aperture tiled-adjoint optimization of three freeform metasurface designs (a broadband lens and two holograms), with drivers, settings, final layouts, optimization histories, an evaluation script and source data. The solver code is unchanged from 1.1.4.
Installation record correction
The installation record and generated report now match version 1.1.5. Numerical solver code is unchanged by this correction. The retained wheel passed 15 CPU/CUDA installation checks on one RTX 3060; four record regressions and the CPU suite passed. The Verify run passed at the exact tagged maintenance commit. The current main branch's later example changes are preserved.
Full RC replay, RTX 5880 and multi-GPU acceptance were not performed.
Downloads
SHA-256
15b425a51bd091b7035dfa7d73ff3013263fb2b99a8ce30cd709be1905d55ec8 torchfdtd-1.1.5-py3-none-any.whl
dc79e2e86911e365fc9568181f458ec1456ad3f33114b531cd7cc45aae2fa24e torchfdtd-1.1.5-examples.zip
TorchFDTD 1.1.4
Changes
- Add optional
cells_per_thread=1|2|4|'auto'for split Yee E/H and field-adjoint CUDA kernels. Joint block/count tuning reports its selected launches and includes scratch in memory admission. The default remains one entry per thread. - Add
trace_storage='auto'for recorded CPML point and plane models. It selects a complete device reservation or a bounded asynchronous CPU archive before allocating fields. The default remains device storage. - Reject oversized component offsets in the low-level fused forward constructor before compilation.
Measurements and limits
On an RTX 3060, a 200 × 200 × 125 tile with 256 steps and five alternating warmed repetitions preserved bit-identical spectra and gradients across scalar/diagonal materials and device/CPU histories. Fixed counts 2/4 increased total time by 5.6–24.5%; automatic selection chose count 1. Performance depends on the workload and device, so multi-entry launches remain optional.
Multi-entry settings require split forward and split field-adjoint kernels. They cannot be combined with fused E/H marching/gather or the one-pass field adjoint. Automatic trace placement requires an explicit complete host budget and does not migrate histories during a solve.
GPU validation covers one RTX 3060. Multi-GPU acceptance remains unverified. See measurement details and validation scope.
Downloads
SHA-256 checksums
e86a373ab75a2fbe95f8021c06b84d337098822988134718c8510bab73eb79d2 torchfdtd-1.1.4-py3-none-any.whl
4a5510d939e60290f6c30702b89d19fa60ad8cbc84f581172ce5c3a790b4b287 torchfdtd-1.1.4-examples.zip
TorchFDTD 1.1.3
TorchFDTD 1.1.3
What's new
- Recorded CPML plane simulations reuse fixed host observation tables across repeated solves. Each solve keeps fresh CUDA maps and field/seed bindings, with unchanged observation and duplicate-adjoint ordering.
- For a 224 x 224 x 32 grid with 32 steps and two dense field planes on an RTX 3060, three alternating warmed repeats reduced median forward-plus-gradient time from 5.432 s to 0.813 s (85.0%) and forward-only time from 2.015 s to 0.656 s (67.5%). Compared spectra and material gradients were bitwise identical.
- The improvement reduces host setup work when reusing the same model. Its size depends on monitor density, step count and host. See the plane guide for supported cases.
Downloads
Install · Changelog · Validation · CI
Multi-GPU execution has not yet been validated.
SHA-256 checksums
a455411071bce53030a4584bc32e843fb18252817d37bc12922475221f079262 torchfdtd-1.1.3-py3-none-any.whl
b14cb3e5cc80aff29072b9803b561e1772d0e9b2c078e2194459f854e9dc6d23 torchfdtd-g7-examples.zip
TorchFDTD 1.1.2
TorchFDTD 1.1.2
What's new
- Optional fused E/H CUDA updates and automatic per-kernel block sizing for recorded CPML simulations, with scalar or diagonal permittivity and periodic x/y boundaries.
- On an RTX 3060, a 380 x 380 x 125 single-tile case reduced median elapsed time by 10.5% for forward plus gradient and 26.3% for forward only over five alternating repeats. Compared spectra and gradients were bitwise identical.
- An optional one-pass field adjoint. Defaults are unchanged. See the CPML guide for supported cases and measured timings.
- Benchmark outputs tolerate brief Windows file-lock interruptions. Optional CUDA launch tuning falls back when a specialization cannot compile.
Downloads
Install · Changelog · Validation · CI
Multi-GPU execution has not yet been validated.
SHA-256 checksums
3b2ba5290469791de89957fe70f29d76cd9a65630bd536b07d828e2bd5671ce2 torchfdtd-1.1.2-py3-none-any.whl
ac9d44d206d786780df9fb5b0e8a49c6f83accfd61dcf9584199ac9512a4cbed torchfdtd-g7-examples.zip
TorchFDTD 1.1.1
TorchFDTD 1.1.1
What's new
- Direct CUDA recording of E/H observations reduces sampling overhead while preserving real and complex field values bit for bit.
- Fused CUDA reconstruction and material gradients for real and complex recorded CPML simulations.
- Optional
interior_z=(a, b)to limit reconstruction to the design layers and reduce terminal-field memory, including inPeriodicLayerResponse. - Support for electric point and plane sources outside the reconstruction interval.
See the recorded CPML guide for usage and timing measurements.
Downloads
Documentation
Install · Changelog · Validation report · CI · Cite TorchFDTD
Multi-GPU execution has not yet been validated.
SHA-256 checksums
0c539e8d61041a692c20808ca4cb4c18cd67e2dc0015c5f462da99da9fcb09bc torchfdtd-1.1.1-py3-none-any.whl
c32adeede1874681dc451c3ad827002973bcea5f1fd1905a9967147d593274a5 torchfdtd-g7-examples.zip
TorchFDTD 1.0.0
TorchFDTD 1.0.0
What's new
- Dispersive subpixel interfaces for Drude, Lorentz and multipole material models.
- Metagrating, finite metalens and PIC design examples, available as a separate download.
- Performance benchmarks for design optimization, including memory use, broadband and sequential adjoints, and autotuning.
Downloads
Documentation
Example guide · Validation report · Release scope
Multi-GPU execution has not yet been validated.
SHA-256 checksums
eadd08329804ce205c7213325a2febd4536e169f70bc9f8399f30f14ba4dcb8e torchfdtd-1.0.0-py3-none-any.whl
b5c64f8c0a3cb55659de6c0a735bcad4fed32989a92a89c2679b70ac230a71a4 torchfdtd-g7-examples.zip
TorchFDTD 0.17.1
What's new
- Added
Region.pml_dispersion='absorber'for dispersive structures that extend into the PML. It replaces CPML with a matched conductivity absorber on the affected faces and retains CPML elsewhere. - Updated boundary warnings to distinguish stable and unstable dispersive PML configurations.
The absorber can stabilize Drude and Lorentz structures that diverge with CPML, but it produces more reflection, especially at oblique incidence. It supports resident CPU/CUDA execution, fused CUDA kernels and tensor batches. Adjoint, streamed, reversible and open-mode solvers do not support it.
See the boundary guide for configuration and reflection measurements, and the changelog for the full list of changes.
Install
Download the attached wheel, then run:
pip install torchfdtd-0.17.1-py3-none-any.whlSHA-256: 5b1c7180fc1c48397e0d85872a35e389a655d4f974a65c6e505953a9f92e1ea3
Citation
TorchFDTD 0.17.0
What's new
- Optional memory-based admission in the workbench. Use
torchfdtd serve --memory-admissionorcreate_app(memory_admission=True)to admit scenes according to available memory. Request, upload and parser limits still apply. The API and UI show the active admission mode. - Faster reversible CPML forward runs.
ReversibleCPMLSimulationskips boundary recording when gradients cannot be requested. Control this withReversibleCPMLOptions(forward_only='auto'|'never'). The benchmark case ran in 9.9–10.3 s, compared with 19.5–20.7 s previously, with identical signals, spectra and gradients.diagnostic_chunk_elementscontrols the reconstruction diagnostic chunk size. - Workbench resource controls. Source and monitor sizes are checked before allocation, stored results are bounded, and CSV exports stream from saved data.
DELETE /api/jobs/{key}releases stored results. Design state directories are restricted to the server's results directory.
See the changelog for details.
Install
Download the attached wheel, then run:
pip install torchfdtd-0.17.0-py3-none-any.whlSHA-256: 2bb919c1f5f8ecacb84c64d00a638c16b468313cb4cb6f4a371daa9957529ec1