Модель порогового интегратора и модель Ходжкина-Хаксли известны как базовые математические модели, описывающие изменения в потенциале мембраны. В этих моделях структура нейронов игнорируется, нейроны рассматриваются как материальные точки. С другой стороны, пространственные модели нейронов учитывают морфологическую структуру, такую как у сома, дендритов и аксонов. Пространственные нейроны состоят из эквипотенциальных сегментов, называемых "отделениями", связанных с аксиальным сопротивлением. Изменение потенциала мембраны в каждом отделении описывается дифференциальным уравнением с частными производными (ДУЧП), называемым кабельным уравнением. В целом, уравнение кабеля дезактивируется как во времени (неявно), так и в пространстве. Затем получаются линейные одновременные уравнения, которые необходимо решить для расчета потенциала мембраны для каждого отделения и временного шага.
Поскольку написание программы для решения уравнений является сложной задачей, используются специализированные программы моделирования, такие как NEURON и GENESIS.
Однако у них есть два недостатка.
- Во-первых, они не поддерживают современные ускорители вычислений, такие как графические процессоры (GPU). Они используют структуру данных, называемую массивом структур, что обычно ставит под угрозу параллельные вычислительные возможности графических процессоров.
- Во-вторых, они используют основной численный метод, называемый гауссовым исключением, для решения линейных одновременных уравнений. Известно гауссовское исключение, имеющее вычислительную сложность O (N3)в случае плотных матриц N-го порядка. Таким образом, количество расчетов также увеличивается, так как матрица коэффициентов огромна. С другой стороны, существует численный метод, называемый методом сопряженных градиентов (CG метод ) для решения линейных одновременных уравнений. CG -метод представляет собой серию скалярных и матрично-векторных произведений. Кроме того, матрица коэффициентов при расчете методом CG не изменяется. По этим причинам методы CG работают гораздо быстрее и эффективнее, чем гауссовское исключение, когда матрица коэффициентов огромна и разрежена.
Технология высокопроизводительных вычислений (HPC) важна для эффективного цифрового моделирования. В частности, последние достижения в области неспециализированных вычислений на графических процессорах (GPGPU) впечатляют. GPGPU - это технология, в которой GPU используются в качестве параллельного вычислительного оборудования благодаря многоядерной архитектуре, изначально предназначенной для компьютерной графики. В GPGPU важно разделить большое количество расчетов на ряд независимых небольших вычислений. Поскольку пространственные модели, как правило, имеют отделения с одинаковой динамикой между собой, расчеты легко проводить параллельно на графических процессорах.
Целью исследования является разработка собственного программного обеспечения для цифрового моделирования пространственных моделей на GPU. Была использована библиотека программирования под названием CUDA C, которая является разновидностью GPGPU - технологии и основана на языке программирования Си.
- Во-первых, был реализован метод CG с учетом того, что матрица коэффициентов, полученная дискретизацией кабельного уравнения, является однозначно разреженной и симметрично положительной. Метод CG был реализован с использованием современной технологии CUDA под названием "Динамический параллелизм", с помощью которой код одного ядра может вызывать код другой ядра. Таким образом, весь алгоритм метода CG был реализован в коде ядра, что означает отсутствие необходимости возврата к исходному коду для каждой итерации. В методе CG, поскольку нулевые элементы в матрице коэффициентов не нужны, разреженная матрица была представлена в виде разряженного строчного формата (CRS). Скалярное произведение, реализовано с одним потоком и имеет общую память. Матрично-векторное произведение реализовано с использованием одного потока на один ряд.
- Во-вторых, на GPU был реализован параллельный расчет ионных каналов и пороговых переменных. Они были рассчитаны с использованием одного потока на одно отделение.
- В-третьих, был реализован параллельный расчет нескольких ячеек с помощью технологии CUDA "Поток", которая управляет многими задачами на GPU. Они были рассчитаны с использованием одного потока на каждую клетку.
В результате, программному обеспечению удалось провести симуляцию пространственной модели клеток Пуркинье, состоящей из 1600 ячеек, имеющих 10 ионных каналов и 13 пороговых переменных для каждого из них.
Конкретно, были проведены следующие три эксперимента.
- Во-первых, моделирование с использованием метода CG позволило в 100 раз быстрее производить расчет, чем моделирование с использованием гауссова исключения для одной ячейки Пуркинье на процессоре с временным разрешением 20 мс при 5000 итераций.
- Во-вторых, версия на GPU (с использованием Tesla K40c) реализовала вычисления в 3 раза быстрее, чем однопоточная версия для процессора на 15 клеток Пуркинье.
- В-третьих, было проведено сравнение производительности метода CG, реализованного с помощью библиотек CUSPARSE и CUBLAS, разработанных NVIDIA.
Можно подытожить, что создание симуляции пространственных моделей при помощи программного обеспечения с GPGPU было быстрее, чем на NEURON и GENESIS. Планируется и дальше усовершенствовать программное обеспечение для более быстрого и точного создания пространственных нейронных моделей.