Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Apple Siliconへの移行 完全に理解した
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yusaku-T
October 04, 2021
Technology
400
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Apple Siliconへの移行 完全に理解した
Yusaku-T
October 04, 2021
More Decks by Yusaku-T
See All by Yusaku-T
_実録_フレッツのIPv6_完全に理解した.pdf
yusakutnk
0
49
Apple_Siliconへの移行_完全に理解した.pdf
yusakutnk
0
120
【実録】フレッツのIPv6 完全に理解した
yusakutnk
0
510
Other Decks in Technology
See All in Technology
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
300
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
610
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
190
USB PDを使ってスマホを労わりたい
raspython3
0
180
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
170
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
130
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
400
WasmをRustにする
sansantech
PRO
0
280
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
The Invisible Side of Design
smashingmag
301
52k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Six Lessons from altMBA
skipperchong
29
4.5k
Balancing Empowerment & Direction
lara
6
1.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
570
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Building an army of robots
kneath
307
47k
Paper Plane
katiecoart
PRO
5
54k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
Apple SiliconͷҠߦ શʹཧղͨ͠ 2020/6/25 Yusaku-T
ࣗݾհ • Yusaku-T • ࣾITΤϯδχΞ ◦ αʔόʔαΠυ͕ϝΠϯͰ͕͢ɺϑϩϯτΤϯυΠϯϑϥଟগ • ࣾΠϯλʔωοτਓձձ ◦
ͦΖͦΖެࣜϋϯυϧΛkaichoʹ͠Α͏͔ͱࢥͬͯ·͢
ൃද༰ • ॳࣗͷOCNϑϨοπճઢΛIPoE(IPv4 over IPv6)ʹҠߦͨ͠Λ͢Δ༧ఆͰͨ͠ ◦ ʮϑϨοπͷIPv6શʹཧղͨ͠ʯ • 6/23ʹMacͷCPUҠߦͷχϡʔε͕ྲྀΕ͖ͯͯɺܰ͘ௐͨΓؾʹͳͬͨ͜ͱΛϝϞ͍ͯ͠ ͨΒʮλΠϜϦʔͩͬͪ͜͠Λͨ͠ํ͕ྑ͍Μ͡Ό…ʁʯͱࢥ͍ɺٸᬎ༰มߋ͠·ͨ͠
◦ ͍Ͱ·ͱΊͨͷͰࣄ࣮ޡೝޙʹͳͬͯ໌͢Δ৽ࣄ࣮͋Δ͔͠Ε·ͤΜ ◦ ओʹITΤϯδχΞʹର͢ΔӨڹʹ͍ͭͯ͠·͢ • IPoE(IPv4 over IPv6)ʹ͍ͭͯདྷ݄͓͠͠·͢ ◦ ͜͜Ͱঢ়گ͕มԽͨ͠ͷͰͦΕΛө&ݕূΛՃ͠·͢
Apple Siliconͱʁ • ઌ(ݱ࣌ؒ6/22)ͷWWDC 2020Ͱൃද͞ΕͨMac ༻ͷ৽͍͠AppleಠࣗCPU • ։ൃΩοτػʹApple A12Z(iPad Pro
2020ͱಉ͡ CPU)͕ࡌ • ࣮ࡍͷMacʹผͳCPU͕ࡌ͞ΕΔࣄͱߟ͑ΒΕΔ ͕ɺجຊతʹiPhone/iPadͰΘΕΔApple AγϦʔ ζͱಉ͡64bit ARMΞʔΩςΫνϟͷCPUʹͳΔͣ جௐߨԋ https://developer.apple.com/videos/play/wwdc2020/101/ ΑΓ
Macͷྺ࢙CPUมߋͷྺ࢙(1/2) • Ұࣾఏڙ͔ͩΒͰ͖Δߥٕʢ͋ΔҙຯήʔϜػʹ͍ۙʣ • ࣌࣌ʹԠͯ͡࠷దʢͱࢥΘΕΔʣCPUΛબ͖ͯͨ͠ Motorola MC68000 (MEGA DRIVE, NEOGEO)
IBM PowerPC (Wii, PS3, Xbox 360) Intel x86/x64 (PS4, PS5, Xbox One) Apple Silicon(ARM) (Nintendo Switch, PS Vita) 1994 2006 1984 2020
Macͷྺ࢙CPUมߋͷྺ࢙(2/2) • ITΤϯδχΞʢಛʹWebܥΠϯϑϥܥʣʹMac͕େ͖͕ͬͨ͘ͷIntel CPUҎ߱ • ଟ͘ͷITΤϯδχΞʹͱͬͯॳͷCPUมߋʹͳΔʂ Motorola MC68000 (MEGA DRIVE,
NEOGEO) IBM PowerPC (Wii, PS3, Xbox 360) Intel x86/x64 (PS4, PS5, Xbox One) Apple Silicon(ARM) (Nintendo Switch, PS Vita) 1994 2006 1984 2020
Կ͕ʁ • ϓϩάϥϜ࠷ऴతʹCPU͕ཧղͰ͖Δػցޠʹม͞Ε࣮ͯߦ͞ΕΔ ◦ PythonJavaScriptͳͲͷεΫϦϓτݴޠ • ࠓ·ͰͷMacͷIntelܥCPU(x86/x64)ͱApple Silicon(ARM)Ͱɺ͜ͷػցޠͷܗ ͕ࣜશ͘ҧ͏ʂ ◦
ͦͦCISCͱRISCͱ͍͏େ·͔ͳ۠Γ͔Βͯ͠ҟͳΔ • ࠓ·ͰͷMacͰಈ͍͍ͯͨϓϩάϥϜ͕ಈ࡞͠ͳ͍ʂ
ҠߦͷͨΊͷαϙʔτ • Universal 2 ◦ 1ͭͷϓϩάϥϜϑΝΠϧͷதʹIntel൛ͱApple Silicon൛Λ ؚΊΔΈ • Rosetta
2 ◦ Intel൛ͷ࣮ߦόΠφϦʢϓϩάϥϜʣΛมͯ͠Apple SiliconͰ࣮ߦ͢ΔΈ ◦ Πϯετʔϧ࣌ͷҰׅมͱ࣮ߦ࣌ͷಈతมͷೋछྨͷಈ ࡞Λαϙʔτʁ ▪ https://news.mynavi.jp/article/osxhack-266/ • ʮ2ʯͱ͋ΔͷݩʑPowerPC→Intel CPUͷҠߦͷࡍʹ ΘΕٕͨज़͔ͩΒ ϓϥοτϑΥʔϜߨԋΑΓRosetta 2ͷઆ໌ https://developer.apple.com/videos/play/wwdc2020/101/ Α Γ
ͱ͍͑… • ύϑΥʔϚϯεΛߟ͑ΔͱApple Silicon(64bit ARM)ωΠςΟϒͰಈ͘ํ͕͋ Γ͕͍ͨ • ARM൛LinuxARM൛Windows 10༻ͷόΠ φϦ͕ఏڙ͞Ε͍ͯΔΦʔϓϯιʔειϑτ
ΣΞൺֱతૣظʹରԠ͢ΔͱࢥΘΕΔ • ϓϥοτϑΥʔϜߨԋͰMacITΤϯδχ Ξʹͱͬͯඇৗʹਓؾ͕͋Δͱͷݴٴ͋Γ ʮOSSͷҠߦΛࢧԉ͠ύονΛఏڙ͢Δʯͱද໌ͨ͠ ໘Ͱදࣔ͞ΕͨϦετ https://developer.apple.com/videos/play/wwdc2020/102/ ΑΓ
Apple७ਖ਼ͷΞϓϦ • Safari, iWork(Pages, Keynote, Numbers), XcodeͳͲ • ྲྀੴʹ͜ΕΒApple SiliconωΠςΟϒͰಈ͘ͷ͕৽Mac/Bug
Surͱಉ࣌ʹఏڙ ͞ΕΔͣ • ಈըฤूͷFinal Cut Pro XԻָฤूͷLogicͱ͍ͬͨॏ͍ΞϓϦͷσϞΛྲྀ͢ͳ ͲAppleͷ৽CPUͷࣗ৴͕͑Δ ◦ ͍͖ͳΓApple SiliconࡌͷMacbook ProMac Pro͋ͨΓ͕ग़Δ͔ʁ
Microsoft(Office), Adobe(Creative Cloud) • WWDCͷجௐߨԋͰσϞ • ϨΨγʔͳػೳΛϑϧαϙʔτͯ͘͠ΕΔ͔ʁ ◦ Office 2003·ͰͷچܗࣜϑΝΠϧͱ͔VBAͱ͔
◦ Adobeʹ͍ͭͯ࠷ۙόʔδϣϯͷΞϓϦ͔ΒରԠ ▪ Lightroom Classicͱ͔ඇରԠʢΒ͍͠ʣ
Webϒϥβ • Google Chrome, Firefox͍ͣΕARM൛Windows 10ͷόΠφϦͷఏڙ͋Γ • Adobe FlashͳͲ֤छϓϥάΠϯ͕ඞཁͳWebϖʔδΛݟΔ͜ͱͦ͠͏ ◦
ࠓ͍ͬͺ͍ͰαϙʔτऴྃͰ͕͢…
Homebrew • ϕʔεͱͳ͍ͬͯΔUNIXܥͷOSSଟ͘ARM൛LinuxͰಈ͘ͷͰରԠ͢Δͣ ◦ લड़ͷ௨ΓϓϥοτϑΥʔϜߨԋͰαϙʔτΛൃද • PowerPC൛ͷHomebrewͰ͋ΔTigerbrewͳΔͷ͕͋Γɺະͩʹϝϯς͞Ε͍ͯ Δʂ ◦ https://github.com/mistydemeo/tigerbrew
ElectronϕʔεͷσεΫτοϓΞϓϦ • VS Code, Postman, SlackΫϥΠΞϯτ, DiscordΫϥΠΞϯτͳͲ • ϕʔεͱͳΔElectron7.0͔ΒARM൛WindowsʹରԠ ◦
https://forest.watch.impress.co.jp/docs/news/1214252.html • VS Codeʹ͍ͭͯ1.46͔ΒARM൛Windows 10ʹରԠ ◦ https://code.visualstudio.com/insiders/#win
։ൃݴޠ(1/2) • Python, Ruby, Node.jsͷεΫϦϓτݴޠ ◦ ଟ͘ͷΠϯλϓϦλ͕ARM൛LinuxͰಈ࡞ ◦ Python, Ruby͋ͨΓ৽OSͷBig
SurʹApple SiliconରԠ൛͕όϯυϧ͞ΕΔͣ ◦ ϥΠϒϥϦʹΑͬͯCͳͲͰॻ͔ΕͨωΠςΟϒίʔυΛؚΉͷͰཁҙ • Java ◦ ARM൛LinuxͰಈ͘OpenJDK͕ఏڙͣΈ ▪ https://adoptopenjdk.net/releases.html ◦ ωΠςΟϒίʔυΛؚΉϥΠϒϥϦʹ͍ͭͯಉ্
։ൃݴޠ(2/2) • Go, RustͳͲͷʢωΠςΟϒίʔυʣίϯύΠϥܕݴޠ ◦ Go, RustARM൛LinuxͷίϯύΠϥ͕͋Γ ▪ Go: https://golang.org/dl/
▪ Rustʹؔͯ͠Tier 2: https://forge.rust-lang.org/release/platform-support.html • ͍ͣΕͷݴޠաڈͷόʔδϣϯʹḪͬͯApple Silicon൛MacʹωΠςΟϒରԠ͢Δ͔ʁ ◦ Python 2.7Java 8ͳͲ ◦ อकҊ݅ͳͲͰຯʹʹͳΔՄೳੑ ◦ Rosetta 2ܦ༝Ͱ࣮ߦ͢Δ͔ඇެࣜόΠφϦΛར༻͢Δ͔ ▪ ؤுͬͯࣗྗϏϧυ͢Δͱݴ͏ͷͪΖΜΞϦ
ԾԽɾίϯςφ • ࠓճͷCPUมߋͰେ͖ͳӨڹ ͕͋Δͱߟ͑ΒΕΔ • جௐߨԋͰParallels DockerͷσϞը໘͕ొ • ʮVirtualizationʯͳΔԾԽ ϑϨʔϜϫʔΫ͕Big
SurͰ Ճ͞ΕΔ https://developer.apple.com/videos/play/wwdc2020/101/ Α Γ
Ͳͬͪͷํࣜʁ 1. CPUΤϛϡϨʔγϣϯΛߦΘͣɺARM൛ͷԾOSίϯςφΛ࣮ߦ͢Δ 2. CPUΤϛϡϨʔγϣϯΛߦ͍ɺIntel CPU൛ͷԾOSίϯςφΛ࣮ߦ͢Δ
1.ͷํࣜͷ༷ • ϓϥοτϑΥʔϜߨԋͰʮARM൛ ͷDebian LinuxΛಈ͔͍ͯ͠Δʯ ൃݴ͓Αͼը໘͋Γ ◦ https://applech2.com/archives/ 20200623-apple-silicon-mac- new-hypervisor-virtualization.html
◦ https://developer.apple.com/ videos/play/wwdc2020/102/ https://developer.apple.com/videos/play/wwdc2020/102/ ΑΓ
ARM൛DockerίϯςφͰൃੜ͢Δ • DockerHubͰARM൛ͷίϯςφΠϝʔδ͕ఏڙ͞Ε͍ͯͳ͍߹͕͋Δ ◦ ଟ͘ରԠͭͭ͋͠Δ͕ɺྫ͑MySQLʢެࣜʣͳͲݱ࣌ͰະରԠ • ։ൃڥͱӡ༻ڥͰಈ͔͢ίϯςφΠϝʔδʹࠩҟ͕ൃੜ͢Δ ◦ Ϩϯλϧαʔόʔ֤छΫϥυͷαʔόʔ͕Intel/AMD͔ΒARMܥʹҰؾʹΓସΘΔ͜ͱͳ͍ͣ ▪
ӡ༻ڥ͚ͷίϯςφIntel CPU͚ʹ࠶ߏஙɾ࠶ݕূ͕ඞཁʹͳΔ • JenkinsCircle CIͰCI/CDΛΜͰ͍Δ߹ࠓ·Ͱ௨Γ ◦ τϥϒϧൃੜ࣌ͷͷΓ͚Ͱߟྀ͢Δཁૉ͕૿͑Δ ◦ ӡ༻ڥͰ͕ى͖ͨΠϝʔδΛҾͬுͬͯϩʔΧϧͷMacͰݕূ…ͱ͍ͬͨ͜ͱ͕Ͱ͖ͳ͘ͳΔ
Intel CPU൛DockerίϯςφͰൃੜ͢Δ • ݱࡏMac൛DockerʹQEMUΛͬͯARMPowerPCͳͲΛΤϛϡϨʔγϣϯ͢ Δػೳ͕͋Δ ◦ https://qiita.com/hnw/items/99e207d16b313f027528 • ͜ΕΛٯʹద༻͢ΔࣄͰIntel CPU൛ͷDockerΠϝʔδ͕ಈ͘ʁ
◦ Rosetta 2ͷػೳ͑ͳͦ͞͏ʁ • ͨͩͰ͑͞ॏ͍MacͷDocker͕͞Βʹॏ͘ͳΔͱ͍͏
ΞϯνΠϧειϑτΣΞʢهʣ • ࠓͷॴARM൛LinuxARM൛WindowsʹରԠͨ͠ݟͨΒͣ ◦ OSSͷClamAV͕ಈ࡞͢Δఔʁ • ݸਓ։ൃΑΓνʔϜ։ൃاۀͰͷେྔಋೖʢޙड़ʣͷࡍʹʹͳΔ ◦ ΞϯνΠϧειϑτΣΞ͕ಋೖ͞Ε͍ͯͳ͍ʢಋೖͰ͖ͳ͍ʣPCISMSࣾη ΩϡϦςΟϙϦγʔʹ৮͢ΔՄೳੑ
◦ ྫ͑Apple SiliconͷMacʹӨڹٴ΅͞ͳ͘ͱɺଞϓϥοτϑΥʔϜͰಈ࡞͢ΔϚϧ ΣΞ͕ݟಀ͞ΕͯϩʔΧϧετϨʔδʹอଘ͞ΕΔՄೳੑ͕͋Δ
ػցֶश • શ͘ཧղͯ͠ͳ͍Ͱ͢ • NumPy, TensorFlow, PyTorchͱݴͬͨϥΠϒϥϦPythonϕʔεͱ͍͑Cݴޠͷίʔυؚ·Εͯ ͍ΔͷͰɺϥΠϒϥϦݸผͷରԠඞཁ ◦ Raspberry
PiͳͲARM൛LinuxͰಈ͔ͯ͠Δέʔε͋Γ • CPUApple SiliconʹมΘΔ͕ɺGPUͲ͏ͳΔʁ ◦ AMDΛ͍ଓ͚Δʁ ◦ NVIDIAʹҠߦ͢Δʁ ◦ ·͔͞GPUAppleಠࣗ։ൃʹͳΔʁ
εϚʔτϑΥϯΞϓϦ։ൃ • શ͘ཧղͯ͠ͳ͍Ͱ͢ • iOSΞϓϦ։ൃ ◦ XCodeྲྀੴʹApple SiliconωΠςΟϒରԠ͢Δͣ • AndroidΞϓϦ։ൃ
◦ Android StudioJavaϕʔε(IntelliJϕʔε)ͳͷͰɺJava͕ωΠςΟϒରԠ͢ΕͳΜͱ͔ͳΔͣ • ΫϩεϓϥοτϑΥʔϜ։ൃ(Flutter, XamarinͳͲ) ◦ Θ͔Βͳ͍Ͱ͢
ήʔϜ։ൃ • શ͘ཧղͯ͠ͳ͍Ͱ͢ • Unityͷ։ൃπʔϧͷσϞ͕ొ https://developer.apple.com/videos/play/wwdc2020/102/ ΑΓ
νʔϜ։ൃ(1/2) • ։ൃ༻ͷି༩PCͱͯ͠MacΛେྔಋೖ͍ͯ͠ΔاۀͳͲ • ҠߦظؒதIntelͱApple SiliconͷMac͕اۀɾ։ൃνʔϜͳͲͰࠞࡏ͢ΔࣄʹͳΔ ◦ શ෦Apple SiliconͷMacʹҠߦ͢Δʁ ▪
අ༻໘ɾޓੑͷ ◦ Intel CPUͷMacΛߪೖ͠ଓ͚Δʁ ▪ Ҡߦظؒ2 ▪ Intel CPU൛MacmacOSͷߋ৽ʹैͰ͖ͳ͘ͳΔ • PowerPC→Intel CPUͷ࣌Ҡߦޙͷ࣍ͷόʔδϣϯ(OS X 10.6)͕࠷ऴ ◦ ͍ͬͦWindowsʹҠߦ͢Δʁ ▪ طଘMacʹBootCampͰWindowsΛಋೖ͠৽ͨʹWindows PCΛങ͍͍ͯ͘͠ ▪ DockerλʔϛφϧͳͲɺWindowsͷ։ൃऀαϙʔτॆ࣮ͭͭ͋͠Δ
νʔϜ։ൃ(2/2) • τϥϒϧ͕ى͖ͨ࣌ͷͷΓ͚͕͘͠ͳΔ ◦ ৽ଔ͕Apple SiliconͷMacΛ͖࣋ͬͯͯʮ͜Εಈ͔ͳ͍ΜͰ͚͢Ͳ…ʯͱݴ͖ͬͯͨͱ͖Ͳ͏͢Δʁ • ։ൃڥͷߏஙखॱॻͳͲɺ྆ํͷCPUڥΛߟྀͯ͠ॻ͘ඞཁ͕ग़ͯ͘Δ ◦ ֤छΞϓϦͷΠϯετʔϧʹؔͯ͠લड़ͷUniversal
2Ͱ͋ΔఔҰຊԽͰ͖Δͣ • ৽ଔʹ҆ఆͨ͠Intel CPUͷMacΛି༩͠ɺ։ൃܦݧͷ͍ITΤϯδχΞʹApple Siliconͷ MacΛି༩ͯ͠Λચ͍ग़ͯ͠Β͏ɺͱ͍ͬͨඞཁ͔ʁ ◦ ਓͷۚͰ͘Apple SiliconͷMacΛ͍͍ͨͱݴ͍ͬͯΔΘ͚Ͱͳ͍
·ͱΊ • MacͷCPU͕Apple SiliconʹมΘΔͱʢͦͷ··Ͱʣࠓ·ͰͷϓϩάϥϜ͕ಈ͔ͳ͘ͳΔ Α • ެࣜͷҠߦαϙʔτ͋Δ͠ɺARM൛Windows/LinuxʹωΠςΟϒରԠ͍ͯ͠ΔΞϓϦۙ ͍͏ͪʹApple SiliconͷMacʹରԠ͢Δͱࢥ͏Αʢظʣ •
ԾԽɾίϯςφΛͬͨ։ൃͪΐͬͱӨڹ͕େ͖ͦ͏ͩΑ • νʔϜ։ൃͰCPU͕౷Ұ͞Εͯͳ͍ࣄʹΑΔτϥϒϧ͕ى͖͏Δ͔Βɺӡ༻ɾυΩϡϝϯ τɾπʔϧͳͲͰΧόʔ͢Δඞཁ͕͋Γͦ͏ͩΑ