Бенчмарк и оценка времени¶
Обзор¶
Библиотека включает систему оценки времени, которая помогает предсказать, сколько времени займут расчеты ORCA. Это необходимо для планирования крупномасштабных расчетов дескрипторов QSAR.
Как это работает¶
Система оценки времени использует бенчмарк-расчет для калибровки производительности на вашей машине:
Бенчмарк-расчет: Выполняется одноточечный расчет на бензоле (C₆H₆) для измерения:
Количества базисных функций
Времени одного SCF-цикла
Общего времени расчета
Формула масштабирования: Для новых молекул система оценивает время, используя:
Масштабирование по размеру молекулы (O(N³.⁵) для DFT расчетов)
Тип метода (SP, Opt, Freq)
Количество процессоров
Масштабирование параметров: Система автоматически корректирует для разных:
Количество процессоров (accounts for parallel efficiency)
Базисных наборов (масштабирует по размеру)
Функционалов (учитывает вычислительную стоимость)
Зачем это нужно¶
Планирование: Оценка общего времени для больших наборов данных
Управление ресурсами: Эффективное распределение вычислительных ресурсов
Отслеживание прогресса: Мониторинг прогресса расчетов
Оптимизация: Выбор оптимальных параметров для вашего оборудования
Запуск бенчмарка¶
Через CLI¶
orca_descriptors run_benchmark --working_dir ./calculations
Бенчмарк использует бензол в качестве стандартной тестовой молекулы и сохраняет результаты в .orca_benchmark.json.
Через Python¶
from orca_descriptors import Orca
orca = Orca(working_dir="./calculations")
benchmark_data = orca.run_benchmark()
print(f"Время SCF-цикла: {benchmark_data['scf_time']:.2f} секунд")
print(f"Количество базисных функций: {benchmark_data['n_basis']}")
Оценка времени расчета¶
Через CLI¶
orca_descriptors approximate_time --molecule CCO --method_type Opt
Это оценивает время без запуска реального расчета.
Через Python¶
from orca_descriptors import Orca
from rdkit.Chem import MolFromSmiles, AddHs
orca = Orca(working_dir="./calculations")
mol = AddHs(MolFromSmiles("CCO"))
estimated_time = orca.estimate_calculation_time(mol)
print(f"Оценка времени: {estimated_time:.2f} секунд")
Автоматическое масштабирование параметров¶
Система автоматически масштабирует данные бенчмарка для разных параметров. Вам не нужно перезапускать бенчмарк, если вы меняете:
Количество процессоров: Автоматически учитывает эффективность параллелизации
Базисный набор: Масштабирует на основе размера базисного набора (O(N³.⁵))
Функционал: Корректирует для относительной вычислительной стоимости
Пример: Если ваш бенчмарк был запущен с 1 процессором и def2-SVP, вы можете оценить время для 4 процессоров и def2-TZVP без перезапуска бенчмарка.
Расположение файла бенчмарка¶
Данные бенчмарка сохраняются в:
<working_dir>/.orca_benchmark.json
Этот файл содержит:
Использованные функционал и базисный набор
Количество процессоров
Количество базисных функций
Время SCF-цикла
Общее время расчета
Вы можете использовать этот файл в разных рабочих директориях, если используете то же оборудование и версию ORCA.