Я много раз писал тут про FPGA для машинного обучения (последний раз в http://ailev.livejournal.com/1207520.html), меня много раз не понимали и говорили, что GPU проще и дешевле.
А дальше читаем DSP Backgrounder (https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/backgrounder/stratix10-floating-point-backgrounder.pdf) -- Stratix 10 customers can expect to see up to an order of magnitude improvement in giga flating point operations per second (GFLOPS)/Watt in their actual designs compared to competitive GPU solutions. А именно, там до 80GFLOP/Watt, и это уже серьёзная заявка -- процесс там интеловский 14нм, а интел сейчас на полгода-год опережает всех по переходу на новые проектные нормы, так что это преимущество некоторое время будет сохраняться. Вдесятеро меньшее энергопотребление при сравнимой скорости -- вот это уже убойно! Ибо нужно рассматривать не стоимость чипа, а полную стоимость жизненного цикла: электроэнергии, потребности в дополнительном охлаждении, неминуемом расходе на лишнюю функциональность и т.д.
В чём там фишка, как удалось достичь таких чудес?! А просто блок умножений с плавающей точкой там не FPGA, а обычный, непрограммируемый. Но FPGA там рядом, и организует работу с этим блоком. Общий результат имеет лучшее из двух миров: гибкость FPGA и скорость и маломощность традиционной фабричной электроники. Altera provides a comprehensive set of flating-point math functions. Approximately 70 math.h library functions, compliant to Open Computing Language (OpenCL™) 1.2, are optimized for the new hardened flating-point architecture. These functions leverage the hard memory and DSP blocks in the FPGA, using almost no FPGA logic. This ensures consistent, low latency, high fMAX implementations, even in high-utilization FPGA designs.
Тут я опять замечу, что языки программирования (хотя и не все) к этому вычислительному повороту в параллелизм и железо тоже готовятся. Например, в Julia (http://julialang.org/) всё ОК с рефлексией и интроспекцией (http://www.evanmiller.org/why-im-betting-on-julia.html):
forget the stuff you may have read about Julia's type system, multiple dispatch and homoiconi-whatever. That stuff is cool (I guess), but if you're like me, the real benefit is being able to go from the first prototype all the way to balls-to-the-wall multi-core SIMD performance optimizations without ever leaving the Julia environment.А вот второе мнение в ту же сторону параллельных вычислений (http://ljuug.tumblr.com/post/123026364378/a-view-from-the-boundary-juliacon-2015):
the highlight of the conference [Juliacon 2015] for me came on the last day in the form of the workshop by the Julia Parallel group. Even now I am completely blown away by this. Anyone who has struggled with current approaches to parallelism based on MPI and Hadoop will appreciate the importance of the work this group is doing. I believe this may well be the killer-app which wooes users from the darkside.