Установка
Требования
- Python 3.11+
- PyTorch 2.0+
- CUDA (опционально, для GPU-ускорения)
Установка
pip
pip install svetlannaПроверка установки
Импорт библиотеки
import svetlanna
print(f"SVETlANNa version: {svetlanna.__version__}")Проверка GPU
import torch
print(f"CUDA доступна: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f"GPU: {torch.cuda.get_device_name(0)}")Тестовый запуск
from svetlanna import SimulationParameters, Wavefront
from svetlanna.units import ureg
params = SimulationParameters.from_ranges(
w_range=(-1*ureg.mm, 1*ureg.mm), w_points=128,
h_range=(-1*ureg.mm, 1*ureg.mm), h_points=128,
wavelength=632.8*ureg.nm
)
wf = Wavefront.plane_wave(params)
print(f"Тест пройден! Форма: {wf.shape}")GPU поддержка
SVETlANNa автоматически использует CUDA, если PyTorch установлен с поддержкой GPU.
Для переноса вычислений на GPU:
from svetlanna import SimulationParameters
from svetlanna.units import ureg
# Создание параметров
params = SimulationParameters.from_ranges(
w_range=(-1*ureg.mm, 1*ureg.mm), w_points=512,
h_range=(-1*ureg.mm, 1*ureg.mm), h_points=512,
wavelength=632.8*ureg.nm
)
# Перенос на GPU (in-place)
params.to("cuda")
# Все созданные с этими параметрами объекты будут на GPU
wf = Wavefront.gaussian_beam(params, waist_radius=0.3*ureg.mm)
print(f"Устройство: {wf.device}") # cuda:0Зависимости
| Пакет | Назначение |
|---|---|
torch | Тензорные вычисления, autograd, CUDA |
numpy | Вспомогательные операции |
matplotlib | Визуализация (опционально) |
jinja2 | Шаблоны для Clerk |
anywidget | Jupyter виджеты |
Возможные проблемы
CUDA out of memory: При работе с большими сетками (>1024×1024) убедитесь, что у вас достаточно GPU памяти. Используйте torch.cuda.empty_cache() для очистки.
Import error: Если import svetlanna не работает, проверьте версию Python (python --version) и переустановите библиотеку.