Skip to Content

Установка

Требования

  • Python 3.11+
  • PyTorch 2.0+
  • CUDA (опционально, для GPU-ускорения)

Установка

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
anywidgetJupyter виджеты

Возможные проблемы

CUDA out of memory: При работе с большими сетками (>1024×1024) убедитесь, что у вас достаточно GPU памяти. Используйте torch.cuda.empty_cache() для очистки.

Import error: Если import svetlanna не работает, проверьте версию Python (python --version) и переустановите библиотеку.