Nxバックエンド勉強会#1 （2022/04/14）レポート（Elixir）

**あはれとも言ふべき人は思ほえで身のいたづらになりぬべきかな**

Advent Calendar 2022 97日目[^1]の記事です。
I'm looking forward to 12/25,2022 :santa::santa_tone1::santa_tone2::santa_tone3::santa_tone4::santa_tone5:
私の[Advent Calendar 2022 一覧](https://docs.google.com/spreadsheets/d/1HQvFjagQLRPjOYAjDVzWp9S4b8dKixxvvaz_TtbZWto/edit#gid=1723448955)。

[^1]: @kaizen_nagoya さんの「[「@e99h2121 アドベントカレンダーではありますまいか Advent Calendar 2020」の改訂版ではありますまいか Advent Calendar 2022 １日目　Most Breakthrough Generator](https://qiita.com/kaizen_nagoya/items/49ebebee3a0377f3b59b)」から着想を得て、模倣いたしました。 

---



# はじめに

[Elixir](https://elixir-lang.org/)を楽しんでいますか:bangbang::bangbang::bangbang:

本日2022/04/14(木)は、　@zacky1972 先生主催の　「[Nxバックエンド勉強会#1](https://pelemay.connpass.com/event/244068/)」が開催されました。
そのレポートです。

https://pelemay.connpass.com/event/244068/

# 19:30 Let's get started!!!

定刻通り始まりました。
17名参加しています。
最終的には18名の参加でした。

今回は、オリエンテーションです。

1. 今日の内容についての説明
1. 旭興産グループ研究支援プログラムによるPelemay-Nxバックエンド研究開発プロジェクトの紹介
1. 自己紹介とポジション表明
1. プログラムコードについての簡単な紹介と，進め方について，ディスカッション

# [Nx](https://github.com/elixir-nx/nx) とは?

https://github.com/elixir-nx/nx

This repository currently holds the following projects:

- Nx - Multi-dimensional arrays (tensors) and numerical definitions for Elixir
- EXLA - Elixir client for Google's XLA with Nx compiler integration and JIT compilation to the CPU/GPU
- Torchx - Elixir client to LibTorch with Nx backend integration

[Elixir](https://elixir-lang.org/)の作者[José Valim](https://twitter.com/josevalim)さん、肝入りのプロジェクトです。

# 19:35 旭興産グループ研究支援プログラムによるPelemay-Nxバックエンド研究開発プロジェクトの紹介

https://zacky1972.github.io/blog/2022/03/03/nx-accel.html

この部分は動画でアップロードされています。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">昨日のNxバックエンド勉強会#1のオリエンテーションの動画を公開しました。<a href="https://t.co/5HltIsdkLr">https://t.co/5HltIsdkLr</a></p>&mdash; Susumu Yamazaki (ZACKY) (@zacky1972) <a href="https://twitter.com/zacky1972/status/1514750355158216706?ref_src=twsrc%5Etfw">April 14, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>




発表資料を何枚か抜粋します。

![スクリーンショット 2022-04-14 19.36.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/90f0bb35-cbdb-36ab-e706-8c43fac318b2.png)

![スクリーンショット 2022-04-14 19.37.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/e1f0bbba-966b-70b0-ac1a-3d78b03707c3.png)

https://www.aec.co.jp/solution/opto22/opto22.html


![スクリーンショット 2022-04-14 19.40.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/0e235a15-08ea-8fc0-3ce7-13fcec54a645.png)


Pythonの新しいバージョンでは性能が侮れないそうです。

![スクリーンショット 2022-04-14 19.40.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/5feb85a9-5543-601e-dcb7-ae96a65b26a7.png)

![スクリーンショット 2022-04-14 19.46.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/8039faff-fbf2-fec7-a478-fe8573b528e6.png)





## 質疑応答

Q) SIMD とは？
A) Single Instruction Multiple Data







# [Backend](https://github.com/elixir-nx/nx/blob/main/nx/lib/nx/backend.ex)

[nx/lib/nx/backend.ex](https://github.com/elixir-nx/nx/blob/main/nx/lib/nx/backend.ex)

[nx/lib/nx/binary_backend.ex](https://github.com/elixir-nx/nx/blob/main/nx/lib/nx/binary_backend.ex)

[nx/lib/nx/template_backend.ex](https://github.com/elixir-nx/nx/blob/main/nx/lib/nx/template_backend.ex)

[exla/lib/exla/device_backend.ex](https://github.com/elixir-nx/nx/blob/main/exla/lib/exla/device_backend.ex)

[torchx/lib/torchx/backend.ex](https://github.com/elixir-nx/nx/blob/main/torchx/lib/torchx/backend.ex)

[exla/test/exla_test.exs](https://github.com/elixir-nx/nx/blob/main/exla/test/exla_test.exs)

次回は、このへんをじっくりみていきます。
@zacky1972 先生の研究室の学生さんは、先生が手厚くサポートするそうですので安心してください。



# 20:14 自己紹介

自己紹介をまわしました。

- [Elixir](https://elixir-lang.org/)で機械学習を楽しみたい人
- [Nx](https://github.com/elixir-nx/nx)の学びを得たい人
- [Elixir](https://elixir-lang.org/)初心者の大学生（@zacky1972 先生の研究室の学生さん）

おおよそ参加者のみなさんからは、こういったことをコメントされておりました。


@the_haigo さんが、[Nx](https://github.com/elixir-nx/nx)を使った記事をいくつか書いているのでぜひ読んでみてくださいとのことでした。

https://qiita.com/the_haigo/items/1a2f0b371a3644960251

上記は、内容古いかも？　とのことです。
[Nx](https://github.com/elixir-nx/nx)はバリバリ現在進行系で開発が進んでいます :rocket::rocket::rocket:

https://qiita.com/the_haigo/items/8449cd3608cd50b95d16

# 20:26 今後の進め方について

毎月 第2木曜 5/12(木) の予定（時間帯は調整中）

次回は、Backendの理解を進めます。
以降3回目、４回目は、改造 or Backendのコードを読む。

# コミュニケーション

コミュニケーションはSlackでとります。

[elixir.jp](https://join.slack.com/t/elixirjp/shared_invite/zt-ae8m5bad-WW69GH1w4iuafm1tKNgd~w) Slackの`#pelemay_zeam`チャンネルです。

ぜひお入りください！
熱烈歓迎します！

---

# Wrapping up :lgtm::lgtm::lgtm::lgtm::lgtm:


この記事は、「[Nxバックエンド勉強会#1](https://pelemay.connpass.com/event/244068/)」のレポートです。

なんとなんと、[Nx](https://github.com/elixir-nx/nx)ってそもそもなんですか？　という人のために @ohr486 さん主催の[tokyo.ex](https://beam-lang.connpass.com/)にてハンズオン会を企画するとのことです！
こちらも乞うご期待、期待大です！


Enjoy [Elixir](https://elixir-lang.org/):bangbang::bangbang::bangbang:
<font color="purple">$\huge{Enjoy\ Elixir🚀}$</font>


以上です。





---

I organize [autoracex](https://autoracex.connpass.com/).
And I take part in [NervesJP](https://nerves-jp.connpass.com/), [fukuoka.ex](https://fukuokaex.connpass.com/), [EDI](https://fukuokaex.connpass.com/), [tokyo.ex](https://beam-lang.connpass.com/), [Pelemay](https://pelemay.connpass.com/).
I hope someday you'll join us.

[We Are The Alchemists, my friends!](https://www.youtube.com/watch?v=04854XqcfCY)

---

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">We appreciate this shoutout, Torifuku! <a href="https://t.co/dThmJg4CYN">pic.twitter.com/dThmJg4CYN</a></p>&mdash; ClickUp (@clickup) <a href="https://twitter.com/clickup/status/1513541411634913284?ref_src=twsrc%5Etfw">April 11, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>