А Cuda - это правильный интерес, перспективный, не надо тут скромничать. Cuda создана для параллельных вычислений, а это очень важно в программировании МКЭ, что сказать тут, можно раз 5-6 быстрей решить одну и туже задачу на одном и том же компе(не одноядерном конечно), если грамотно использовать параллельные вычисления.
Всё-таки я почитал мнения людей о CUDA, и признаю необходимость крайней осторожности с этой технологией. Ее разработала Nvidia для того, чтобы математические вычисления производить не на процессоре компьютера, а на видеокартах Nvidia, в которых каждый шейдер будет как ядро процессора. Если в процессоре ядер от одного до четырех, то в современной видеокарте (тысяч на шесть рублей) их 64 и более, причем в компьютер можно вставить несколько видеокарт (зависит от материнки). Поэтому вычисления МКЭ можно производить быстрее не в 5-6 раз, а в 100-10000 раз!
Но беда в крайней непереносимости программы, написанной на CUDA. Во-первых, работа программы зависит от конкретной видеокарты: на одной ведет себя так, на другой немного по-другому, на третьей вообще не заработает. Например, на видеокартах AMD такие программы работать не будут вообще. Во-вторых, программа зависит от наличия драйвера к видеокарте в используемой ОС, то есть в современных Windows и Mac OS программа заработает, а в старых Windows, Linux и прочих малопопулярных ОС не будет драйвера. В третьих работа программы зависит от качества драйвера видеокарты: с проверенным драйвером 2010 года программа работает нормально, а с глючным драйвером 2013 показывает глюки. В-четвертых, зависимость от чипсета, процессов обмена информацией между процессором и видеокартой, прочими компонентами материнки. Всё это в совокупности делает разработку программ на CUDA очень утомительной и затратной: нужно тестировать программу на всех видеокартах со всеми ревизиями драйверов, в сочетании со всеми чипсетами, на всех вариантах процессоров, на всех ОС. Поэтому на CUDA сейчас пишут программы только для своего собственного ПК, не думая об их распространении на другие ПК. Либо пишут программы строго для определенных брендов, например, для бренда Tesla. Либо отказываются от прелестей CUDA и пишут программы для исполнения на обычных процессорах, пусть и многоядерных.
В моем ноутбуке стоит видеокарта Intel HD 3000, значит, программировать на CUDA я не смогу и программы на CUDA не запустятся. Я могу поиграться с программирование на OpenCL, хотя и здесь встречу море трудностей и ограничений. Запасаюсь попкорном и наблюдаю дальше за развитием CUDA и ее конкурентами.