SlideShare une entreprise Scribd logo
1  sur  31
高度に最適化された移植可能
  なメモリマネージャ
    @DADA246
自己紹介
• ゲームプログラマやってます

• 得意分野 C++,C#,GPU,javascript,PHP
• 低レベル係とか描画関係とかCIとかwebと
  か

• Steam、Origin、iPhoneで海外ゲームを遊ん
  でいます
はじめに
• 元ネタはGame Engine Gems2の
A Highly Optimized Portable Memory Managerです

• Kindle Editionが$55.92で買えます
アジェンダ
•   ゲームでのメモリマネージャについて
•   Small Block Allocator
•   Medium Block Allocator
•   Large Block Allocator
メモリマネージャ
• メモリマネージャは重要

• 悪いメモリマネージャは処理速度の低下
  や、フラグメンテーションによるクラッ
  シュを引き起こす

→枯れたコードを参考にする
→dlmalloc
dlmalloc
• Doug Lea’s malloc
• http://g.oswego.edu/dl/html/malloc.html

• 非常に良い実装だが、汎用的である
→ゲーム用にカスタマイズする
dlmalloc
• 確保サイズごとにリストが用意されてい
  る
    確保サイズ(byte)   チャンク

        16

        24

        32

        40
        …




       2^31
ゲーム用メモリマネージャ
•   キャッシュラインを意識する
•   空き領域を検索しない
•   高速なアロケート
•   デバッグの容易性
• バッファオーバーフローしても管理領域
  が壊れにくい
• フラグメンテーションが起きにくい
管理領域
✕              ○
    確保領域A          確保領域A

    管理領域A
                   確保領域B
    確保領域B
                   管理領域A
    管理領域B          管理領域B


確保領域Aがバッファオー   確保領域Aがバッファオー
バーフローすると、管理領   バーフローしても、管理領
域を破壊してしまう      域は破壊されない
→バグの追跡が困難になる
フラグメンテーション
• 大きなメモリアロケーションの中に小さ
  なメモリアロケーションが混ざると発生
  する
                    使用          空き

         alloc x2        free
    空き              使用          使用



                    空き          空き
フラグメンテーション対策
• ページングを活用する
WindowsのVirtualAlloc()

• VirtualAllocは処理が重いので、
多発する小さなメモリ確保には適さない

→メモリ確保量によってアロケータを分
ける
複数のアロケータ
メモリ確保量(byte)   メモリ確保頻度
     0          少ない
                Small Block Allocator

       256

                Medium Block Allocator

      4096

                Large Block Allocator




               多い
基本設計
• 各種アロケータはページ単位で動作する
→x86を考えて4kbyte単位にする

• ページ同士はリンクリストで管理する
Small Block Allocator
• 4kbyte/ページで構成
• 32byte/block

• 1ページごとに
管理領域として1ブロック使用
→127ブロックの空き
Small Block Allocator
• 確保サイズごとにページを用意する
     確保サイズ(byte)

         16

         24

         32

         40
         …




        256
管理領域
• 32byte=1ブロック
• ブロックの空き状態をビット列で管理す
  る
   struct Header
   {
     uint32_t emptyBlockBit[4];//空きブロックのビットマスク
     uint32_t emptyBlockCount;//空きブロック数(ベリファイ用)
     uint32_t blockSize;//ブロックサイズ
     uint32_t* pPrePage;//前ページへのポインタ
     uint32_t* pNextPage; //次ページへのポインタ
   }
alloc
• 空きブロックのあるページを探す

• 空きブロックがあるページが見つかったら、
  空きブロックのビットマスクをスキャンして
  確保アドレスを確定する
→ x86ならbsf命令が使える

• 空きブロックが無かったらOSからページアロ
  ケーションする
ページ管理
• 空き領域の有無でページのリンクリストを分
  ける
→空き領域を検索しない
     空き領域無し    空き領域あり

    16        16

    24        24

    32        32
     …




              …
free
• freeするアドレスからページを算出する
→管理領域を見つけられる

    int32_t pageAddress=(address/4096)*4096;




• 空きブロックがなくなったらOSにページ
  を返す
パフォーマンス
• x86のキャッシュラインは64byte
→ Small Block Allocatorの管理領域は32byteな
ので、キャッシュラインをまたがない

• 1ページ 4kbyteなので、今時のL1キャッ
  シュに載る
Medium Block Allocator
• 16kbyte/ページで構成
• 128byte/block

• 1ページごとに
管理領域として1ブロック使用
Medium Block Allocator
• 1ページで複数の確保サイズを扱う
→メモリの利用効率を上げるため
      確保サイズ(byte)

         384

         512

         640

         768
          …




         4096
allocとfree
• Small Block Allocatorとほぼ同じ

• allocは可変長のメモリサイズを扱っている
  ため、Small Block Allocatorよりは処理が重
  め

• freeは空きブロックがなくなったらOSに
  ページを返す
ページ管理
• どれだけ空き領域があるかをリンクリス
  トで管理する
→空き領域のあるページを高速に探す
      空き領域(byte)

         0

        128

        256

        384
         …
Large Block Allocator
• allocごとにページアロケーションする
→大きなメモリ確保なので発生頻度が低い

• シンプルなリンクリストで実装できる
応用
• Small Block Allocatorのアプローチで
  Mediumサイズのメモリ確保も行えるの
  では?

• 1ブロックサイズをメモリ確保サイズに
  よって変えても良いのでは?
まとめ
• dlmallocなどの枯れたコードを参考にす
  る

• ページアロケーションでフラグメンテー
  ションを抑える

• アロケーションサイズによってアルゴリ
  ズムを分けることで高速化する
まとめ
• メモリマネージャを扱ってみました

• 良いメモリマネージャがあれば高レベル
  ライブラリも使いやすくなります
次のステップ
• マルチスレッド化
http://www.gdcvault.com/play/1014602/Multic
ore-Memory-Management-Technology-in

• メモリデバッグツール
Question?
ご清聴ありがとうございました

Contenu connexe

Tendances

Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Mitsuru Kariya
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理DADA246
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?京大 マイコンクラブ
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと信之 岩永
 
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話LINE Corporation
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド規格書で読むC++11のスレッド
規格書で読むC++11のスレッドKohsuke Yuasa
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ SEGADevTech
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得Reimi Kuramochi Chiba
 
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】Hiro H.
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化Gosuke Miyashita
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチンyohhoy
 

Tendances (20)

Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと
 
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得
 
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
入門 シェル実装
入門 シェル実装入門 シェル実装
入門 シェル実装
 

Similaire à 高度に最適化された移植可能なメモリマネージャ

Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編Chiho Otonashi
 
Linux の hugepage の開発動向
Linux の hugepage の開発動向Linux の hugepage の開発動向
Linux の hugepage の開発動向Naoya Horiguchi
 
Basic of virtual memory of Linux
Basic of virtual memory of LinuxBasic of virtual memory of Linux
Basic of virtual memory of LinuxTetsuyuki Kobayashi
 
ファイルの隠し方
ファイルの隠し方ファイルの隠し方
ファイルの隠し方mfumi
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで増田 亨
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイントKentaro Matsui
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
TechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VTechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VKuninobu SaSaki
 
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブルスマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブルHiroaki Wakamatsu
 
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Takano Masaru
 
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Hiro Yoshioka
 
論文輪読: Coordinated and Efficient Huge Page Management with Ingens
論文輪読: Coordinated and Efficient Huge Page Management with Ingens論文輪読: Coordinated and Efficient Huge Page Management with Ingens
論文輪読: Coordinated and Efficient Huge Page Management with Ingensmmisono
 
Memcachedの仕組みと設定
Memcachedの仕組みと設定Memcachedの仕組みと設定
Memcachedの仕組みと設定Tatsuya Akashi
 
Programming camp code reading
Programming camp code readingProgramming camp code reading
Programming camp code readingHiro Yoshioka
 
Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Cloudera Japan
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 
Cloud os techday_0614
Cloud os techday_0614Cloud os techday_0614
Cloud os techday_0614Takano Masaru
 
コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)智之 大野
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 

Similaire à 高度に最適化された移植可能なメモリマネージャ (20)

20111028ssmjp
20111028ssmjp20111028ssmjp
20111028ssmjp
 
Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編
 
Linux の hugepage の開発動向
Linux の hugepage の開発動向Linux の hugepage の開発動向
Linux の hugepage の開発動向
 
Basic of virtual memory of Linux
Basic of virtual memory of LinuxBasic of virtual memory of Linux
Basic of virtual memory of Linux
 
ファイルの隠し方
ファイルの隠し方ファイルの隠し方
ファイルの隠し方
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
TechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VTechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-V
 
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブルスマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
 
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
 
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
 
論文輪読: Coordinated and Efficient Huge Page Management with Ingens
論文輪読: Coordinated and Efficient Huge Page Management with Ingens論文輪読: Coordinated and Efficient Huge Page Management with Ingens
論文輪読: Coordinated and Efficient Huge Page Management with Ingens
 
Memcachedの仕組みと設定
Memcachedの仕組みと設定Memcachedの仕組みと設定
Memcachedの仕組みと設定
 
Programming camp code reading
Programming camp code readingProgramming camp code reading
Programming camp code reading
 
Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012Lars George HBase Seminar with O'REILLY Oct.12 2012
Lars George HBase Seminar with O'REILLY Oct.12 2012
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
Cloud os techday_0614
Cloud os techday_0614Cloud os techday_0614
Cloud os techday_0614
 
コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)コンテナで作る開発環境 (20161104 CodeIgniter Night)
コンテナで作る開発環境 (20161104 CodeIgniter Night)
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 

Dernier

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Dernier (10)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

高度に最適化された移植可能なメモリマネージャ