Тип работы:
Предмет:
Язык работы:


ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ НЕЙРОСИМУЛЯТОРА GRAS

Работа №75412

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы52
Год сдачи2020
Стоимость4325 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
109
Не подходит работа?

Узнай цену на написание


Список сокращений и условных обозначений 3
Введение 4
1. Проект Memristive Spinal Cord 6
2. Анализ нейросимуляторов NCS6, NeuroGPU и NEST 8
3. Реализация GRAS (GPU Reflex Arc Simulator) 10
3.1. Сравнение стандартов и фреймворков параллелизации программного кода нейросимулятора 10
3.1.1. CPU архитектура: OpenMP, MPI и OpenCL 10
3.1.2. GPU архитектура: OpenCL, OpenACC и CUDA 13
3.1.3. Структуры AoS, AoaS и SoA вычислительного принципа SIMT 16
3.2. Соответствие нейросимулятором био-правдоподобности .... 18
3.2.1. Разработка упрощенной модели нейрона ESRN для расчетов в реальном времени 18
3.2.2. Создание модели синапса для передачи сигнала 25
3.3. Архитектура GRAS 28
3.4. Воссоздание работы центрального генератора упорядоченной активности отдела спинного мозга в вычислительной модели GRAS 33
3.5. Ускорение работы нейросимулятора для видеокарты Nvidia K80 36
4. Результаты GRAS симуляции модели отдела спинного мозга крысы . 41
Заключение 44
Список литературы

По данным Всемирной организации здравоохранения (ВОЗ) ежегодно в мире получают травму спинного мозга от 250 000 до 500 000 человек. Подобное повреждение в разной степени приводит к общему ухудшению здоровья и даже к угрозе жизни (смертность с травмой выше в 2-5 раз, чем у не травмированных людей) [73]. В крупных городах России (на 2011 год) частота получения травмы спинного мозга примерно составляет 0.58-0.6 случаев на 10 000 человек [75], в то время как в США (на 2012 год) частота случаев приблизительно равна 0.54 на 10 000 человек [55].
Восстановление способности к самостоятельной ходьбе является одной из приоритетных задач реабилитации пациентов со спинальными травмами. Существуют два способа восстановления: (1) полная операция на спинной мозг с трансплантацией нервных клеток с дальнейшей послеоперационной физиотерапией в клинике, и (2) мало-инвазивные операции или без-операционные вмешательства с упором на физиотерапии с системами для восстановления ходьбы. Процесс восстановления двигательной активности дорогостоящий, занимает много времени (от одного года), требует постоянных тренировок и обследования специалистов [47].
Исследования и работы в области травм спинного мозга очень актуальны. Американский медицинский центр Mayo Clinic (Рочестер, штат Миннесота) активно проводит испытания по компенсации двигательных нарушений пациентов при травме спинного мозга [22]. Их исследования [19; 37; 39] базируются на постоянной электростимуляции отдела спинного мозга без изменения паттерна сигнала. В данном подходе отсутствует адаптация сигнала в зависимости от кожного входа стопы, что не позволяет пациенту носить стимулятор в повседневной жизни, что сэкономило бы денежные средства пациента при нахождении в стационаре или реабилитационном центре.
В связи с этим, возникает проблема отсутствия протезного устройства, которое может в режиме реального времени адаптироваться под шаг пациента и заменять работу отдела спинного мозга для восстановления двигательной активности (ходьбы) после травмы без круглосуточного надзора специалистов.
Цель - создать нейросимулятор, который в режиме реального времени может обрабатывать кожные входы, перестраивать паттерн шага и выводить результат работы на внешний стимулятор, чтобы заменить работу отдела спинного мозга, отвечающего за ходьбу.
Для достижения цели были поставлены следующие задачи:
• сравнить существующие нейросимуляторы, найти их плюсы и минусы, выделить особенности для создания нового инструмента;
• подобрать оптимальный инструмент распараллеливания и тип структур данных для SIMT (single instruction, multiple threads) подхода;
• написать код нейросимулятора и модели центрального генератора упорядоченной активности (ЦГУА) на языке C++;
• провести эксперимент по работе нейросимулятора в аппаратном комплексе с цифро-аналоговым преобразователем для будущей стимуляции нервов сгибательной мышцы (руки или ноги) человека.
Объект исследования: био-совместимая симуляция функционального отдела мозга, состоящего из рефлекторной дуги и ЦГУА, способная заменить его поврежденную активность (нейропротезирование).
Предмет исследования: разработка био-правдоподобного нейросимулятора, работающего в режиме реального времени, для симуляции центрального генератора упорядоченной активности.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Цель дипломной работы выполнена в полном объёме - реализован нейросимулятор GRAS на базе архитектуры GPU, работающий в режиме реального времени, имитирующий био-правдоподобную топологию ЦГУА и выводящий симулируемую активность мотонейронов через цифро-аналоговый преобразователь. На базе проведенного сравнения существующих нейросимуляторов появилось понимание трендов в разработке био-инспирированных систем. GRAS уже активно используется лабораторией в проекте по созданию протеза сегмента спинного мозга для реабилитации людей, которые получили травму данного отдела и стали парализованными. Для возможности симуляции в режиме реального времени были использованы имеющиеся средства ускорения работоспособности и проделана подробная работа по ее анализу В будущих реализациях нейросимулятора планируется перенос архитектуры на одноплатные маломощные устройства, чтобы проводить вычисления для носимых нейропротезов или робототехнических систем. Простота нейросимулятора позволяет использовать дополнительную интеграцию с периферийными устройствами.
По результатам дипломной работы и проекта memristive spinal cord были написаны научные статьи для зарубежных журналов в соавторстве [40; 41; 68]. Кроме того, планируется к публикации в этом году статья в известном мировом журнале Nature Communication, аккумулирующая все результаты и наработки проекта лаборатории.
Код нейросимулятора GRAS и дополнительные Python-скрипты для визуализации данных и других экспериментальных наработок опубликованы в репозитории проекта лаборатории нейроморфных вычислений и нейросимуляций КФУ: github.com/research-team/memristive-spinal-cord/tree/master/GRAS.



1. Akl S. G., Nagy M Introduction to Parallel Computation // Parallel Computing: Numerics, Applications, and Trends / под ред. R. Trobec, M. Vajtersic, P Zinterhof. — Springer London, 2009. — С. 43—80.
2. Balaban P, Vorontsov D., Dyakonova V[и др.]. The Central Pattern Generators // Neuroscience and Behavioral Physiology. — 2015. — Дек. — Т 45. — С. 42—57.
3. Barlas G. Chapter 2 - Multicore and parallel program design // Multicore and GPU Programming / под ред. G. Barlas. — Boston : Morgan Kaufmann, 2015.— С. 27—54.
4. Ben-Shalom R., Artherya N. S., Cross C.[и др.]. NeuroGPU, software for NEURON modeling in GPU-based hardware // bioRxiv. — 2019.
5. Bocchio M., Nabavi S., Capogna M. Synaptic Plasticity, Engrams, and Network Oscillations in Amygdala Circuits for Storage and Retrieval of Emotional Memories // Neuron. — 2017. — Т 94, № 4. — С. 731—743.
6. Boybat I., Gallo M., S.R. N.[и др.]. Neuromorphic computing with multi- memristive synapses // Nature Communications. — 2017. — Нояб. — Т. 9. — С. 1—10.
7. Chandra R., Dagum L., Kohr D.[и др.]. Parallel programming in OpenMP. — San Diego, CA : Morgan, Kaufmann, 2001.
8. Chapman B., Jost G., Pas R. v d. Overview of OpenMP // Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation). — The MIT Press, 2007. — С. 23—34.
9. Citri A., Malenka R. C. Synaptic Plasticity: Multiple Forms, Functions, and Mechanisms // Neuropsychopharmacology. — 2008. — Т 33, № 1. — С. 18— 41 ; —Nature Publishing Group.
10. Cook S. Chapter 9 - Optimizing Your Application // CUDA Programming / под ред. S. Cook. — Boston : Morgan Kaufmann, 2013. — С. 305—440. — (Applications of GPU Computing Series).
11. Corporation I. Writing Optimal OpenCL™ Code with Intel® OpenCL SDK [Электронный ресурс] / Performance Guide. — 2011. — URL: software.intel.com/ sites/default/ files/m/ d/ 4/1 / d/ 8 / Writing_ Optimal _ OpenCL _28tm_29 _ Code _ with_ Intel _ 28R_ 29 _ OpenCL _ SDK. pdf ; (дата обращения: 29.05.2020).
12. Deska-Gauthier D., Zhang Y. The functional diversity of spinal interneurons and locomotor control // Current Opinion in Physiology. — 2019. — Апр. — Т 8. — С. 99—108.
13. Dimitrov M., Mantor M., Zhou H. Understanding Software Approaches for GPGPU Reliability // Proceedings of 2nd Workshop on General Purpose Processing on Graphics Processing Units. — Association for Computing Machinery, 2009. — С. 94—104.
14. Du P, Weber R., Luszczek P[и др.]. From CUDA to OpenCL: Towards a performance-portable solution for multi-platform GPU programming // Parallel Computing. — 2012. — Т 38, № 8. — С. 391—407.
15. Einevoll G. T, DestexheA., DiesmannM.[и др.]. The Scientific Case for Brain Simulations // Neuron. — 2019. — Т 102, № 4. — С. 735—744.
16. Eppler J., Helias M., Muller E.[и др.]. PyNEST: a convenient interface to the NEST simulator // Frontiers in Neuroinformatics. — 2009. — Т. 2. — С. 1— 12.
17. Gad P., Lavrov I., Shah P.[и др.]. Neuromodulation of motor-evoked potentials during stepping in spinal rats // Journal of Neurophysiology. — 2013. — Т 110, №6. — С. 1311—1322.
18. Gentet L. J., Stuart G. J., Clements J. D. Direct Measurement of Specific Membrane Capacitance in Neurons // Biophysical Journal. — 2000. — Т. 79, № 1. —С. 314—320.
19. Gerasimenko Y. P, Lavrov I. A., Courtine G.[и др.]. Spinal cord reflexes induced by epidural spinal cord stimulation in normal awake rats // Journal of neuroscience methods. — 2006. — Т. 157, № 2. — С. 253—263.
20. Gerstner W, Kistler W, Naud R.[и др.]. Neuronal dynamics: From single neurons to networks and models of cognition. — 2014. — Гл. Dendrites and Synapses. С. 58—80.
21. Gill M. L., Grahn P. J., Calvert J. S.[и др.]. Neuromodulation of lumbosacral spinal networks enables independent stepping after complete paraplegia // Nature Medicine. — 2018.
22. Grahn P. J., Lavrov I. A., Sayenko D. G.[и др.]. Enabling Task-Specific Volitional Motor Functions via Spinal Cord Neuromodulation in a Human With Paraplegia // Mayo Clinic Proceedings. — 2017. — Т 92, № 4. — С. 544— 554.
23. Grandars.ru.Мембранный потенциал покоя и действия [Электронный ресурс] / Медицина и Физиология. — 2020. —URL: www.grandars.ru/college/medicina/membrannyy-potencial.html; (дата обращения: 25.05.2020).
24. Harris M. CUDA Pro Tip: Write Flexible Kernels with Grid-Stride Loops [Электронный ресурс] / NVIDIA Developer Blog. — 2013. — URL: devblogs.nvidia. com/cuda-pro-tip-write-flexible-kernels-grid- stride-loops ; (дата обращения: 19.03.2020).
25. Herten A., Brommel D., Pleiter D. GPU-Accelerated Particle-in-Cell Code on Minsky // High Performance Computing. — Cham : Springer International Publishing, 2017. — С. 205—219.
26. Hoang R., Tanna D., Jayet Bray L.[и др.]. A novel CPU/GPU simulation environment for large-scale biologically realistic neural modeling // Frontiers in Neuroinformatics. — 2013. — Т. 7. — С. 19.
27. Hodgkin A. L., Huxley A. F. A quantitative description of membrane current and its application to conduction and excitation in nerve // The Journal of Physiology. — 1952. — Т 117, № 4. — С. 500—544.
28. Hodgkin A. L., Huxley A. F. A quantitative description of membrane current and its application to conduction and excitation in nerve // The Journal of Physiology. — 1952. — Авг. — Т 117, № 4. — С. 500—544.
29. Hoefler T, Schneider T, Lumsdaine A. Accurately measuring overhead, communication time and progression of blocking and nonblocking collective operations at massive scale // IJPEDS. — 2010. — Авг. — Т 25. — С. 241— 258.
30. Hoshino T, Maruyama N., Matsuoka S.[и др.]. CUDA vs OpenACC: Performance Case Studies with Kernel Benchmarks and a Memory-Bound CFD Application // Proceedings of the 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing. — Delft, Netherlands : IEEE Press,
2013. —С. 136—143. —(CCGRID’13).
31. Islam R., Cuellar C., Felmlee B.[и др.]. Multifactorial motor behavior assessment for real-time evaluation of emerging therapeutics to treat neurologic impairments // Scientific Reports. — 2019. — Дек. — Т. 9. — С. 1—16.
32. Izhikevich E. M. Which model to use for cortical spiking neurons? // IEEE Transactions on Neural Networks. — 2004. — Т 15, № 5. — С. 1063—1070.
33. Izhikevich E. Simple model of spiking neurons // IEEE Transactions on Neural Networks. — 2003. — Нояб. — Т 14, № 6. — С. 1569—1572.
34. Jang H., Park A., Jung K. Neural network implementation using CUDA and OpenMP // Proceedings - Digital Image Computing: Techniques and Applications, DICTA 2008. — 2008. — Янв. — С. 155—161.
35. Khaydarova R., Fishchenko V., Mouromtsev D.[и др.]. ROCK-CNN: a Distributed RockPro64-based Convolutional Neural Network Cluster for IoT. Verification and Performance Analysis. — 2020. — Апр.
36. Kim Y., Chortos A., Xu W.[и др.]. A bioinspired flexible organic artificial afferent nerve // Science. — 2018. — Т 360, № 6392. — С. 998—1003.
37. Lavrov I., Dy C. J., Fong A. J.[и др.]. Epidural Stimulation Induced Modulation of Spinal Locomotor Networks in Adult Spinal Rats // Journal of Neuroscience. — 2008. — Т 28, № 23. — С. 6022—6029.
38. Lavrov I., Gerasimenko Y. P, Ichiyama R. M.[и др.]. Plasticity of Spinal Cord Reflexes After a Complete Transection in Adult Rats: Relationship to Stepping Ability // Journal of Neurophysiology. — 2006. — Т. 96, № 4. — С. 1699— 1710.
39. Lavrov I., Musienko P E., Selionov V A.[и др.]. Activation of spinal locomotor circuits in the decerebrated cat by spinal epidural and/or intraspinal electrical stimulation // Brain research. — 2015. — Т 1600. — С. 84—92.
40. Leukhin A., Talanov M., Suleimanova A.[и др.]. Even Simpler Real-Time Model of Neuron // BioNanoScience. — 2020. — Т 10, вып. 2. — С. 416— 419.
41. Leukhin A., Talanov M., Suleimanova A.[и др.]. GPU-computing for Simulation of Neural Circuitry // Springer Lecture Notes in Computer Science (LNCS). — Springer International Publishing, 2020. — С. 1—10.
42. Li C., Belkin D., Li Y.[и др.]. Efficient and self-adaptive in-situ learning in multilayer memristor neural networks // Nature Communications. — 2018. — Дек. — Т 9. — С. 1—8.
43. Limare A'. Integer and Floating-point Arithmetic Speed vs Precision [Электрон-ный ресурс] / Nicolas LIMARE: Software Engineering. — 2014. — URL: nicolas. limare.net/pro/notes/2014/12/ 12_arit_speed ; (дата обращения: 23.02.2020).
44. Lobov S., Kazantsev V., Makarov V. A. Spiking Neurons as Universal Building Blocks for Hybrid Systems // Advanced Science Letters. — 2016. — Т 22, №
10. — С. 2633—2637.
45. Lobov S., Mironov V., Kastalskiy I.[и др.]. A spiking neural network in sEMG feature extraction // Sensors. — 2015. — Т 15, № 11. — С. 27894—27904.
46. MatsufuruH., Aoki S., Aoyama T.[и др.]. OpenCL vs OpenACC: Lessons from development of lattice QCD simulation code // Procedia Computer Science. — 2015. — Дек. — Т 51. —С. 1313—1322.
47. Mayo Clinic. Spinal Cord Injury Rehabilitation Program [Электронный ре¬сурс] / Patient Care & Health Information. — 2020. — URL: www.mayoclinic.org/tests -procedures/spinal -cord-injury -rehabilitation/about/pac-20395044 ; (дата обращения: 20.05.2020).
48. McCulloch W S., Pitts W A logical calculus of the ideas immanent in nervous activity // The bulletin of mathematical biophysics. — 1943. — Т 5, № 4. — С. 115—133.
49. McDougalR. A., Morse T. M., Carnevale T.[и др.]. Twenty years of ModelDB and beyond: building essential modeling tools for the future of neuroscience // Journal of Computational Neuroscience. — 2017. — Февр. — Т 42, № 1. — С. 1—10.
50. Mclntosh-Smith S., Boulton M., Curran D.[и др.]. On the Performance Portability of Structured Grid Codes on Many-Core Computer Architectures // Supercomputing / под ред. J. M. Kunkel, T. Ludwig, H. W. Meuer. — Cham : Springer International Publishing, 2014. — С. 53—75.
51. McIntyre C. C., Grill W. M. Extracellular Stimulation of Central Neurons: Influence of Stimulus Waveform and Frequency on Neuronal Output // Journal of Neurophysiology. — 2002. — Т 88, № 4. — С. 1592—1604.
52. Mei G., Tian H. Impact of Data Layouts on the Efficiency of GPU-accelerated IDW Interpolation // SpringerPlus. — 2016. — Февр. — Т. 5. — С. 1—18.
53. Mudalige G. R., Reguly I. Z., Giles M. B.[и др.]. Performance Analysis of a High-Level Abstractions-Based Hydrocode on Future Computing Systems // High Performance Computing Systems. Performance Modeling, Benchmarking, and Simulation / под ред. S. A. Jarvis, S. A. Wright, S. D. Hammond. — Cham : Springer International Publishing, 2015. — С. 85—104.
54. Nabavi S., Fox R., Proulx C. D.[и др.]. Engineering a memory with LTD and LTP//Nature. — 2014. — Т 511. — С. 348—352 ;—Number: 7509Publisher: Nature Publishing Group.
55. National Spinal Cord Injury Statistical Center. Facts and Figures at a Glance [Электронный ресурс] / University of Alabama at Birmingham. — 2020. — URL: www.nscisc.uab.edu/Public/Facts%20and%20Figures%202020.pdf; (дата обращения: 12.05.2020).
56. Navarro C., Hitschfeld N., Mateu L. A Survey on Parallel Computing and its Applications in Data-Parallel Problems Using GPU Architectures // Communications in Computational Physics. — 2013. — Сент. — Т. 15. — С. 285—329.
57. Nickolls J., Buck I., Garland M.[и др.]. Scalable Parallel Programming with CUDA // Queue. — 2008. — Март. — Т 6. — С. 40—53.
58. Niwa M., Nakayama K., Sasaki S.-I. Morphological study of external oblique motor nerves and nuclei in cats // Anatomical Science International. — 2008. — Т 83, № 1. —С. 17—25.
59. NVIDIA Corporation. NVIDIA CUDA C Programming Guide v10.2 [Электронный ресурс] / Developer Zone. — 2019. — URL: docs.nvidia.com/cuda/cuda-c-programming-guide/index.html; (дата обращения: 29.03.2020).
60. NVIDIA Corporation. Compare 10 series graphics cards [Электронный ресурс] / GeForce products. — 2020. — URL: www.nvidia.com/en-us/geforce/products/10series/compare ; (дата обращения: 15.03.2020).
61. OpenACC.org. OpenACC Programming and Best Practices Guide [Электронный ресурс] / Programming Guide. — 2015. — URL: www.openacc.org/sites/default/files/inline- files/OpenACC_Programming_Guide_0. pdf; (дата обращения: 19.02.2020).
62. Purves D., Augustine G., Fitzpatrick D.[и др.]. Neuroscience. — 2-е изд. — Sunderland (MA): Sinauer Associates, 2001. — Гл. Excitatory and Inhibitory Postsynaptic Potentials. С. 58—80.
63. Quintero D., Huertas L., Kamenoue T.[и др.]. Implementing an IBM High- Performance Computing Solution on IBM Power System S822LC. — IBM Redbooks, 2016. — Гл. CUDA C programs with the NVIDIA CUDA Toolkit. С. 186—189.
64. Rosenblatt F. The perceptron: a probabilistic model for information storage and organization in the brain // Psychological review. — 1958. — Т 65, № 6. — С. 386.
65. Shimobaba T, Ito T, Masuda N.[и др.]. Fast calculation of computer- generated-hologram on AMD HD5000 series GPU and OpenCL // Optics Express. — 2010. — Май. — Т 18, № 10. — С. 9955—9960.
66. Sulyok A., Balogh G., Reguly I.[и др.]. Locality optimized unstructured mesh algorithms on GPUs // Journal of Parallel and Distributed Computing. —
2019. — Авг. — Т 134. — С. 50—64.
67. Talanov M. Spiking neural networks [Электронный ресурс] / Neuromorphic computing, neurosimulations. — 2019. — URL: github.com/max-talanov/1/blob/master/affective_computing_course/realistic_nns.md; (дата обращения: 02.06.2020).
68. Talanov M., Leukhin A., Suleimanova A.[и др.]. Oscillator Motif as Design Pattern for the Spinal Cord Circuitry Reconstruction // BioNanoScience. —
2020. — С. 1—5.
69. Teka W., Marinov T. M., Santamaria F. Neuronal Spike Timing Adaptation Described with a Fractional Leaky Integrate-and-Fire Model // PLoS Computational Biology. — 2014. — Март. — Т. 10, № 3.
70. Tian X., Xu R., Yan Y.[и др.]. Compiler transformation of nested loops for general purpose GPUs // Concurrency and Computation: Practice and Experience. — 2016. — Т 28, № 2. — С. 537—556.
71. Ukidave Y, Nina Paravecino F, Yu L.[и др.]. NUPAR: A benchmark suite for modern GPU architectures // ICPE 2015 - Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering. — 2015. — Февр. — С. 253—264.
72. Wagner F. B., Mignardot J.-B., Goff-Mignardot C. G. L.[и др.]. Targeted neurotechnology restores walking in humans with spinal cord injury // Nature. — 2018. — Нояб. — Т 563, № 7729. — С. 65.
73. World Health Organization. Spinal cord injury. Key facts [Электронный ресурс] / WHO. — 2013. — URL: www.who.int/news-room/fact-sheets/detail/spinal-cord-injury ; (дата обращения: 11.04.2020).
74. Zhang S., Li W, Jing Z.[и др.]. Comparison of Three Different Parallel Computation Methods for a Two-Dimensional Dam-Break Model // Mathematical Problems in Engineering. — 2017. — Сент. — Т 2017. — С. 1— 12.
75. Морозов И., Млявых С. Эпидемиология позвоночно-спинномозговой трав-мы (обзор) // Медицинский альманах. — 2011. — Т. 4. — С. 157—159.
76. Сулейманова А. — Моделирование базисных компонентов генераторов шагательных движений спинного мозга млекопитающего в нейросимуля-торе NEURON: диплом. работа. Казанский (Приволжский) Федеральный Университет, Казань, 2019.


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ