目標 Google TPUの思想を理解するためにTPU likeシストリックアレイを構成することでなぜTPUがDNNを回す効率が良いかを理解するのが目標。 読む方もニューラルネットワーク(全結合、CNN)がわかっていればなんとなく理解できれば良いな。。と思ってます。 記事はアーキテクチャ編と設計編に分け、本アーキテクチャ編ではTPUの動作などを考察する。 設計編ではVerilogでシストリックアレイ部のみ記述してみる予定。ただPE部は資料がないので筆者の妄想。 ほぼ構成要素としては前記事のなんちゃってCPUと同じだと思う。 素人が作る超基本CPU@Verilog w/Vivado https://qiita.com/arutema47/items/40dc748e349c30d7194a 今回考えるのはTPUv1 ISCA2017で論文発表され、詳細なアーキテクチャが公開されている。 TP
![素人がGoogle TPUを作ってみる~アーキテクチャ考察編~](https://cdn-ak-scissors.b.st-hatena.com/image/square/f7656b89fc86f189b61635efb30fed829063de2f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9R29vZ2xlJTIwVFBVJUUzJTgyJTkyJUU0JUJEJTlDJUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgxJUJGJUUzJTgyJThCJUVGJUJEJTlFJUUzJTgyJUEyJUUzJTgzJUJDJUUzJTgyJUFEJUUzJTgzJTg2JUUzJTgyJUFGJUUzJTgzJTgxJUUzJTgzJUEzJUU4JTgwJTgzJUU1JUFGJTlGJUU3JUI3JUE4JUVGJUJEJTlFJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1jZDQxMWE5Njg0ZGQxMTdhNTVhZDI4ZWYyOWRlZDY0Yg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwYXJ1dGVtYTQ3JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lZGYzOTEyNTM2OTFlN2ZmYThiNGVhMmM3OGI0ZTBhNg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Df49ab8c8d36c978ca96200421a3fb213)