Interest in the FPGA considered from film production
（株式会社ポリゴン・ピクチュアズ / スタジオフォンズ）
(Polygon Pictures Inc. / Studio Phones)
We plan to add more content and make further revisions based on the situation of future seminars.
translated by PPI Translation Team
FPGAなどSoC(System on a Chip)が身近になりつつあり、映像制作でもこれらの技術を念頭にどのようにパラダイムシフトすべきか模索しているスタジオもそろそろ増えていく時期ではないかと思われます。
実際、FPGA搭載Xeon Scalable Processor搭載のストレージなどのニュースや、機械学習などでの高負荷計算への進展に関しても様々な形で日々目にすることもあるかと思いますが、今回の会合ではラウンドテーブルでこの話題を取り上げるため、この資料では多少現在考えられる映像制作インフラ面でのFPGA関心に関して軽く触れていきたいと思います。
As SoC (System on a Chip) such as FPGA is becoming more accessible, one can assume that even in the field of video production we’ve entered an era where very soon more and more studios will be searching for ways to shift the paradigm with these technologies in mind.
It’s probable you’ve already been coming across news on a daily basis through various means regarding storage with a Xeon Scalable Processor equipped with FPGA or advances made in the field of high-capacity calculations via machine learning. As we will be addressing this topic through round table discussions during the seminar, in this document we’d like to lightly touch base with the topic of interest in FPGA from the standpoint of the current video production infrastructure.
We’ve listed reference below so that the moderators can also prepare for the discussion. However, please keep in mind that the following information is not the result of any extensive research.
■Interest in FPGA
その課題に関して、近年は大規模計算へのFPGA利用も増え始め、サーバー内での日常的に扱う計算をFPGAで行うなど、比較的大手企業からFPGAに関する積極利用が始まっていると言えます。加えて、Altera/IntelのFPGA搭載Xeon Scalable Processorに関するニュースやそれを実際に搭載したストレージなどの登場により、キャッシュミスの少なさと電力効率の良さ、Intel.HSLcompilerによるmathライブラリを含む様々なサポートの進展など、FPGAそのものへの関心は性能と効率、コスト削減を考えていく上で大きな課題になっているとモデレータ達は考えています。
It’s most likely the case that many video production studios that host a large scale of calculation clusters with a CPU core are wearing their nerves out just to operate them, given that they have to secure electric power, maintain it, give appropriate corresponding maintenance, secure airflow per skeleton base, secure airflow for the entire server room, take countermeasures for emergencies such as fires, and create and maintain an accompanying management system that runs 24 hours a day, 365 days a week. In addition, in recent years the percentage of GPU clusters (for which heat management has to be handled even more cautiously than with CPUs) is starting to see an increase. Therefore, we imagine that when such studios are handling intricate calculations, they are doing so with a comprehension of the peculiarities of GPU, and bearing this in mind, precisely handling the electrical efficiency, calculation efficiency, and individual scheduling issues that arise during batch processing, and on top of that reducing wasteful operations as much as possible, carrying out management with an ecological consciousness and spirit of cost reduction on a daily basis.
In regards to this challenge, in recent years the use of FPGA for large scale calculations has begun increasing, and it can be said that relatively major firms are starting to proactively make use of FPGA, such as by doing calculations handled daily within the server through FPGA instead. Additionally, due to news concerning Xeon Scalable Processors loaded with Altera/Intel FPGA as well as the emergence of storage actually equipped with it, the low occurrence of cache misses, the high level of electrical efficiency, and the progress made in various supporting functions including a math library via Intel HSL compiler, the moderators believe that interest in FPGA itself has become a major challenge that remains to be tackled when devising ways to improve performance, efficiency, and reduce the cost.
■Response to Heterogeneous Computing
It can be said that the phrase “handling heterogeneous computing”, often discussed as the turning point of Moore’s law, is becoming a highly problematic matter that would eventually need to be considered seriously even in the field of video production.
For example, when thinking about matters such as running a model full-time that has already learned (through machine learning and so forth) within the calculation cluster as an inference model, given the current situation that FPGA is also becoming an option when taking energy saving performance and such into consideration, in the same way that changes are occurring from the PC/Server model to client/cloud model (public and private cloud), thinking of ways to respond to these changes will most likely become a natural development increasingly more within the field of video production from now on, in the same way that it has become for many other fields as well.
At this seminar, we’d like to have a discussion, even if just a little, regarding how to think about various calculations, domain-specific architecture, and other matters handled in the video production pipeline with an approach entirely different from the past.
■Heavy-load calculation and usage for in-house service within its own server and integrated circuit
クラウドサービスでのFPGA対応も近年では非常に進んで来ており、機械学習や深層学習で得られたモデルを活用する際のサーバー利用など、今後は映像やゲームの分野でも事例が増えても不思議はない状況かと思われますし、実際、ONNX(Open Neural Network Exchange)のサイトにUnityのロゴも見えるように、映像やゲームに限らない様々な利用でのゲームエンジン利用も含め、今後は変化が出て行くのではないか、映像制作の上では、画像処理などのオンプレミスでのサーバーサイドサービスや、スケールアウト系ストレージ内での常時巡回型のサービス、計算クラスタ内で動作する内製的機能のアクセラレーターなど、開発コストが見合うなら導入も視野に入るのでは？ともモデレーター達は考えております。
There are most likely companies other than Google that are taking the approach of developing TPU and such with ASIC in relation to creating an infrastructure base that carries out high-load calculations while still being energy efficient. On the other hand, due to the way in which ASICs are manufactured, its cost of production prevents it from being easily accessible to video production studios. However, it is also most likely the case in modern times that there are many companies that are moving forward with the same types of developments using FPGAs whose circuits can easily be rewritten, as long as the design has been established.
In recent years, the handling of FPGA through cloud services has been seeing significant advancements. Therefore, it wouldn’t be far-fetched to assume that we will soon be seeing more examples of use in the field of videos and games, such as using servers for utilizing models obtained through machine learning or deep learning. In addition, as exemplified by the fact that the Unity logo can be seen on the ONNX (Open Neural Network Exchange) website, the moderators believe it is possible there will be further changes from now on, including using game engines not only limited to videos and games.
Furthermore, the moderators also believe that in regards to video production, it may become plausible to consider implementing on-premise server side services such as image processing, 24-7 round support service within the scale-out type storage, or accelerators which operate within calculation clusters equipped with an internal function if the development costs can be counterbalanced.
Year by year FPGA development itself has been following a trend of becoming increasingly less complicated to do. At this seminar, we’d like to discuss possible methods of use based on the assumption that FPGA will be used in the future.
While there is an impression that the adoption of FPGA into the video production infrastructure is still in it’s early investigation stage, the developments made in recent years for Intel, HSL compilers and such have been ground-breaking, and we do feel that the situation may shift even further by the time of the seminar. With the various aforementioned benefits in mind among others (although of course we are aware that there are still many demerits), we hope to have candid and straightforward round-table discussions at the seminar regarding the possibilities of the operation side of FPGA.
[Reference Material] The Reason Behind the Interest in FPGA
[Reference Material] SoC Paradigm and Production Environments in the Future
Given that the SoC (System on a Chip) is becoming more accessible, most likely you’ve already been coming across news on a daily basis through various means regarding storage with a Xeon Scalable Processor equipped with FPGA or advances made in the field of high-capacity calculations via machine learning.
As the affinity for movie production and game development environments we’ve grown familiar with such as C, C++, and OpenCL increases, a lot of information related to Linux for SoC FPGA products is becoming available as well. It is likely that in the next few years we’ll be spending our days searching for adequate application methods to various operations that is not limited only to storage, such as SDS.
Although we are currently still in the stages of feeling our way around for solutions, at this seminar we plan on explaining the small amount of information that was researched by the moderators, as well as presenting use cases we’d like to consider in the future.
[Topic] Treatments and Such to be Ideally Replaced with FPGA (Topics for Review)
・All high-load calculations taking place on the server side
Have discussions separately for those that will be scaled and those that won’t be.
・Processing taking place on the server side, such as denoiser
Various individual treatments during rendering, simulation, composite, etc.
・Real-time processing for runtime (possibilities of various treatments using formats such as ONNX)
・Load distribution relations such as L4 or L7LB
While the moderators believe that when designing the infrastructure, the challenges will consist of shifting towards energy conservation for the purpose of lowering production costs during video production, improving integration into the video production pipeline even further, finding ways to conserve energy in the preproduction phase for artist supporting services and so forth and balancing it out with high-speed processing and such, currently the development costs with FPGA are still gearing towards the higher end of the spectrum. Therefore, with the innovations in infrastructure taking place at a drastic pace set as the discussion topic, we hope to give further thought to the future possibilities as well as the matters that would prove difficult to varying degrees.
We’d especially like to be mindful of the use cases in studios that are continuing to search for ways to utilize machine learning and deep learning, and have complete and thorough discussions focusing on topics such as energy conservation and reduction of operational costs.
[Sources] General FPGA Materials and Such (Intel® Related)
・Intel® FPGA SDK for OpenCL™
・Intel® SoC FPGA
[Sources] Materials and Such Regarding FPGA that May be Useful
・FPGA, Web Server Design Example
・4K Video Upscaling Format Conversion
・AWS EC2 Fi Instance
[Sources] Materials and Such Regarding Individual Tools Related to FPGA
・Intel, HSL compiler
・OPAE(Open Programmable Acceleration Engine)
・OPAE Intel FPGA Linux Device Driver Architecture
・Open Programmable Acceleration Engine
・M|18 Intel and MariaDB: Strategic Collaboration to Enhance MariaDB. Functionality, Performance and TCO
[Sources] Materials to Ideally Focus On for Calculation Clusters
・The Parallel Universe
・OpenCL* on Intel® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA Quick Start User Guide
・OpenCL Vector Addition Design Example
・nemu Modern Hypervisor for the Cloud
[Sources] Materials for Machine Learning, Deep Learning, Each of Their Runtimes and for FPGA Discussions
・ONNX Supported tools
・ONNX Model Zoo
・ONNX JS demo
[Sources] Regarding Compilers for Machine Learning and Deep Learning (Not Limited to FPGA Handling)
[Sources] Materials Related to MIPS, RISC-V and for Discussions Entertwined with FPG
・MIPS fpga github
・RISC-V Foundation to leverage the Linux Foundation's tools, infrastructure, services and training programs
[Sources] Intel® Graphics Compiler for OpenCL™ and Materials and Such Related to LVM
・Intel(R) Graphics Compiler for OpenCL(TM)