Архитектурная акустика/Реализация/arch_ac_cuda.ini
Файл, задающий набор управляющих параметров для подсистемы предметной области. Доступ к параметрам в коде осуществляется через статические методы классов Config, NodeConfig и DomainConfig.
Некоторые параметры могут игнорироваться в зависимости от конфигурации подсистемы предметной области, как показано в таблице. Из них параметры вычислительного узла, реализующего интерфейс INode, которые не зависимы от реализующей узел платформы, но являются входом алгоритма моделирования, передаются вычислительному узлу от управляющего узла (реализующего IDomainSystem) по сети через запрос NodeDomainRequests::INITIALIZE.
Ключ | Значение | Область действия | |||||
---|---|---|---|---|---|---|---|
Подсистема | Алгоритм | ||||||
I | D | N | Релей | Релей-Кулигин | Рей-трейсинг | ||
LOG_FILE | Лог-файл для подсистемы предметной области. Может быть прописан абсолютный путь (без кавычек). Если возникает ошибка доступа к файлу, лог не ведется. | + | + | + | N/A | N/A | N/A |
SERVER_CONFIGURATION | Конфигурация сервера подсистемы предметной области. Значение INPROCESS_SERVER задает внутрипроцессную конфигурацию. Значение TCP_SERVER задает TCP сервер. | + | + | - | N/A | N/A | N/A |
SELECT_CUDA_DEVICES | Параметр, в котором указываются номера, начиная с нуля, устройств CUDA, на которых разрешено выполнение вычислений, например SELECT_CUDA_DEVICES = 0, 2, 3, 4 . Данный параметр, если он указан, имеет приоритет над значением NUMBER_OF_CUDA_DEVICES.
|
+ | - | + | + | + | - |
NUMBER_OF_CUDA_DEVICES | Количество устройств CUDA, которые можно использовать в вычислениях. Значение параметра игнорируется, если также задан ключ SELECT_CUDA_DEVICES, который имеет больший приоритет. Если параметр SELECT_CUDA_DEVICES не задан, а значение NUMBER_OF_CUDA_DEVICES равно 0 или не задан, то CUDA не будет использоваться. Если значение NUMBER_OF_CUDA_DEVICES равно -1, а ключ SELECT_CUDA_DEVICES не задан, то будут использоваться все доступные устройства CUDA. | + | - | + | + | + | - |
CUDA_BLOCKS_PER_DEVICES | Количество используемых блоков на CUDA устройстве. Если значение 0 или не задано, то число блоков на устройство определяется автоматически. | + | - | + | + | + | - |
CUDA_THREADS_PER_BLOCK | Количество используемых потоков на блок CUDA. Если значение 0 или не задано, то число потоков на блок определяется автоматически. | + | - | + | + | + | - |
RADIATION_ANGLE_DELTA | Угол между испускаемыми лучами, в градусах. | + | + | - | - | - | - |
IGNORABLE_INTENSITY_RATIO | Процент начальной (максимальной по всем первичным источникам) интенсивности, который дает нижний предел, после которого расчет по лучу останавливается. | + | + | - | + | + | + |
INTEGRATION_STEPS | Количество шагов двумерного интегрирования по каждой из осей координат. Значения интерпретируются как беззнаковые, т.е. | .+ | + | - | + | - | - |
PATTERN_RETRIEVAL_DISTANCE | Расстояние в метрах, на котором берется интенсивность источника.
где - значение параметра PATTERN_RETRIEVAL_DISTANCE, - функция интенсивности источника от расстояния |
+ | + | - | + | + | + |
CIRCLE_APPROXIMATION | Количество сторон равностороннего многоугольника, аппроксимирующего окружность. Значения интерпретируются как беззнаковые, т.е. | .+ | + | - | + | - | - |
CALCULATION_ERROR | Значение, которое принимается за ошибку машинных вычислений, т.е. если это значение равно | , то .+ | + | - | + | + | + |
MAX_PLAIN_POINTS | Максимально разрешенное количество контрольных точек на одной плоскости вывода результатов. Значение 0 эквивалентно | на 32-х битовой машине и - на 64-х битовой. Значение по умолчанию - 0.+ | + | - | + | + | + |
MAX_THREAD_NUMBER | Максимально разрешенное количество потоков выполнения центрального процессора. Значения, большие чем количество логических процессоров на машине, а также 0, задают количество логических процессоров в системе. Значения интерпретируются как беззнаковые, т.е. | .+ | + | + | + | + | + |
DX_TO_LAMBDA | Отношение линейного размера малого отражающего элемента к длине волны, а также расстоние между соседними отражающими элементами. Например, при вычислении Значение по умолчанию: 1. Значение 0 интерпретируется как значение по умолчанию. |
, , где равно значению DX_TO_LAMBDA, и - длина волны.
+ | + | - | + | + | + |
CALCULATION_MODEL | Идентификатор алгоритма моделирования. 1 - оригинальный алгоритм расчета интеграла Релея, 2 - алгоритм Кулигина по расчету интеграла Релея, 4 - рей-трейсинг. Значение по умолчанию: 1. Иные значения интерпретируются как значение по умолчанию. | + | + | - | N/A | N/A | N/A |
LISTEN_PORT | Основной порт прослушивания запросов от подсистемы управления. | - | + | + | N/A | N/A | N/A |
DOMAIN_ADDRESS | Адрес подсистемы предметной области - управляющего узла. | - | + | - | N/A | N/A | N/A |
[''i'']
address
port
|
Адрес и порт i-го вычислительного узла подсистемы предметной области. При получении параметров перебираются значения arch_ac.ini, а все последующие секции будут проигнорированы.
Ключ address принимает строковое выражение адреса, включая IP адрес. Ключ port принимает двухбайтовое целое. Порт используется исключительно для подключения управляющего узла к вычислительным узлам. Порт подключения к узлу посистемы управления возвращается управляющему узлу ответом на запрос NodeDomainRequests::INITIALIZE к вычислительному узлу. То есть порт подключения к узлу посистемы управления устанавливается на узле управляющим параметром LISTEN_PORT в arch_ac.ini. |
, начиная с нуля, до тех пор, секции с некоторым индексом не оказывается в - | + | - | N/A | N/A | N/A |
DOMAIN_LISTEN_PORT | Порт прослушивания запросов, поступающих к вычислительному узлу от управляющего узла подсистемы предметной области. | - | - | + | N/A | N/A | N/A |
NODE_SERVER_ADDRESS | Адрес вычислительного узла, указываемый в его файле arch_ac.ini. | - | - | + | N/A | N/A | N/A |