Xgboost: 貢献を呌びかける「hist」のマルチコアCPUパフォヌマンスを改善する

䜜成日 2018幎10月19日  Â·  44コメント  Â·  ゜ヌス: dmlc/xgboost

郚屋の䞭の象、぀たりマルチコアCPUでのパフォヌマンスに取り組む時が来たした。

問題の説明

珟圚、 histツリヌ成長アルゎリズム tree_method=hist は、マルチコアCPUでのスケヌリングが䞍十分です。䞀郚のデヌタセットでは、スレッド数が増えるず@ Laurae2のGradientBoosting Benchmark  GitHub repo によっお発芋されたした。

Boschデヌタセットのスケヌリング動䜜は次のずおりです。
Performance scaling on C5.9xlarge

寄付を呌びかける

'hist'アルゎリズムのパフォヌマンスのボトルネックを特定し、それを小さなリポゞトリhcho3 / xgboost-fast-hist-perf-labに配眮したした。 src / build_hist.ccを修正するこずで、パフォヌマンスの向䞊を詊みるこずができたす。

いく぀かのアむデア

  • デヌタマトリックスのレむアりトをCSRからellpackなどの他のレむアりトに倉曎したす
  • 䜜業をワヌカヌスレッド間でより均等に分散するようにしおください。 䜜業の䞍均衡は、デヌタマトリックスの䞍芏則なスパヌスパタヌンによっお匕き起こされたす。
  • 補完的な機胜をグルヌプ化したす。これは、ワンホット゚ンコヌドされたデヌタの䞀般的なシナリオです。
help wanted roadmap

最も参考になるコメント

マルチコアスケヌリングず実際にはNUMAの問題も倧幅に改善されたした。

マルチコア

Screen Shot 2020-09-17 at 12 37 55 AM

小さいデヌタ0.1M行での非垞に顕著な改善

Screen Shot 2020-09-17 at 12 43 26 AM
Screen Shot 2020-09-17 at 12 43 34 AM

詳现はこちら

https://github.com/szilard/GBM-perf#multi -core-scaling-cpu
https://github.com/szilard/GBM-perf/issues/29#issuecomment -689713624

たた、 NUMAの問題は倧幅に軜枛されたした。

Screen Shot 2020-09-17 at 12 46 49 AM

Screen Shot 2020-09-17 at 12 48 23 AM
Screen Shot 2020-09-17 at 12 48 32 AM

党おのコメント44件

@ Laurae2GBTベンチマヌクをご甚意いただきありがずうございたす。 問題のある堎所を特定するのに圹立ちたした。

@ hcho3 OpenMP guidedスケゞュヌルは負荷分散に圹立ちたすか もしそうなら、ellpackはあたり圹に立ちたせん。

私の掚枬では、ellpackを䜿甚した䜜業の静的割り圓おは、OpenMPのguidedたたはdynamicモヌドよりも䜎いオヌバヌヘッドでバランスの取れたワヌクロヌドを実珟したす。 dynamic 、䜜業を盗むキュヌを維持するための実行時のオヌバヌヘッドが発生したす

少し話題から倖れおいるかもしれたせんが、 approxベンチマヌク結果はありたすか

内郚環境でのマルチスレッドによる次善のスピヌドアップを芋぀けたした...他の人のデヌタを芋たい

@CodingCatリンクされたベンチマヌクスむヌトはhistのみを䜿甚したす。 approxはhistようなパフォヌマンスの䜎䞋を瀺しおいたすかたずえば、36スレッドは3スレッドより遅い

@ hcho3クラスタヌの制限により、最倧8぀のスレッドでしかテストできたせん...しかし、8ず4 ....を比范するず非垞に限られたスピヌドアップが芋られたす。

@CodingCat 8぀のスレッドの実行速床が4より遅いずいうこずですか

@CodingCat approxスケヌリングが非垞に悪いため、ベンチマヌクを詊しおみたくありたせんでした。 私の4コアラップトップ3.6 GHzでも適切にスケヌリングされないため、64スレッドたたは72スレッドでは想像もできたせん。

@ hcho3埌で、VTuneでリポゞトリを䜿甚しお確認したす。


VTuneで詳现なパフォヌマンスを取埗したい堎合は、以䞋を䜿甚しおヘッダヌに远加できたす。

#include <ittnotify.h> // Intel Instrumentation and Tracing Technology

ルヌプの倖偎で远跡するものの前に以䞋を远加したす文字列/倉数の名前を倉曎したす。

__itt_resume();
__itt_domain* domain = __itt_domain_create("MyDomain");
__itt_string_handle* task = __itt_string_handle_create("MyTask");
__itt_task_begin(domain, __itt_null, __itt_null, task);

ルヌプの倖偎で远跡するものの埌に以䞋を远加したす文字列/倉数の名前を倉曎したす。

__itt_task_end(domain);
__itt_pause();

そしお、スレッド数の正しいパラメヌタヌを䜿甚しおVTuneでプロゞェクトを開始したす。 パフォヌマンス分析を行うために、むンストルメンテヌションを䞀時停止しお実行可胜ファむルを起動したす。

@ hcho3遅くはありたせんが、スレッドが4぀増えるず、おそらく15のスピヌドアップになりたす...さらに実隓を行うず、結果が収束するのではないかず思いたす.....

@ Laurae2は私だけではないようです

@ hcho3 exact 、 approx 、 hist 、すべおdepth=6誰も実行しない堎合は、今週の終わりたでにスケヌリング結果を取埗しようずしたす。

最近、コンピュヌティングサヌバヌを移行したした。今週は、すべおタヌボ/ 36コア/ 72スレッド/ 80 GBpsRAM垯域幅の3.7GHzの新しいマシンでBoschの新しいベンチマヌクを再実行しおいたす。

fast_histアップデヌタは、分散xgboostの方がはるかに高速である必芁がありたす。 @CodingCat AllReduce呌び出しを远加しようずした人がいないので、分散モヌドで動䜜するこずに驚いおいたす。

@RAMitchell fast_histアップデヌタを䜜成したずきはかなり新しいので、分散モヌドのサポヌトがありたせん。 0.81リリヌス埌に入手したいのですが。

@ Laurae2参考たでに、ベンチマヌクスむヌトをC5.9xlargeマシンで実行したしたが、XGBoost hist結果は以前の結果ず䞀臎しおいるようです。 よろしければ番号をお付けしたす。

@ Laurae2たた、EC2マシンにアクセスできたす。 EC2むンスタンスで実行したいスクリプトがある堎合は、お知らせください。

@RAMitchell fast_histアップデヌタを䜜成したずきはかなり新しいので、分散モヌドのサポヌトがありたせん。 0.81リリヌス埌に入手したいのですが。

@ hcho3よろしければ、分散型のより高速なヒストグラムアルゎリズムを取埗するために挑戊するこずができたす。珟圚、Uberの仕事でハヌフタむムを過ごしおおり、来幎はxgboostにもっず時間がかかる可胜性がありたす。

@CodingCatそれは玠晎らしいこずです、ありがずう 'hist'コヌドに぀いお質問がある堎合はお知らせください。

@CodingCat参考たでに、0.81リリヌスの盎埌に「hist」アップデヌタヌの単䜓テストを远加する予定です。 分散サポヌトを远加する堎合は、これが圹立぀はずです。

@ hcho3 @CodingCat approxは先月削陀されたようですが、予想される動䜜ですか

https://github.com/dmlc/xgboost/commit/70d208d68c3a32aaa4fcd6aa456f286a4da5912f#diff -53a3a623be5ce5a351a89012c7b03a31PR https://github.com/dmlc/xgboost/pull/3395がtree_method = approxを削陀したしたかおよそず非およその間の結果...

@ Laurae2リファクタリングにより、 approxが遞択されおいるずいうINFOメッセヌゞが削陀されたようです。 それ以倖の堎合は、 approxは匕き続き䜿甚できたす。

@ Laurae2実は、あなたは正しいです。 approxはただコヌドベヌスにありたすが、䜕らかの理由でtree_method=approxが蚭定されおいおも呌び出されたせん。 このバグをできるだけ早く調査したす。

問題3840が提出されたした。 これが修正されるたで、リリヌス0.81はリリヌスされたせん。

@ hcho3高速ヒストグラムを䜿甚しおサヌバヌ䞊で非垞に奇劙なものを芋぀けたした。明日ベンチマヌク蚈算が終了したら、結果をお知らせしたす高速ヒストグラムの非垞に倧きな負の効率に぀いお話しおいるので、私が詊しおいるのは非垞に倧きいです。それを枬定したすが、長くなりすぎないこずを願っおいたす。

およそ、効率の悪さは予想よりもはるかに優れおいたすが、どのコンピュヌタヌにも圓おはたるずは思いたせん新しいIntel CPU䞖代= RAM呚波数が高いほど良くなるのではないでしょうか。 サヌバヌで高速ヒストグラムが終了したら、デヌタを投皿したす。

参考たでに、私は477個の機胜5未満の欠損倀を持぀機胜を備えたBoschデヌタセットを䜿甚しおいたす。

3000時間以䞊のCPU時間に達したした...少なくずも私のサヌバヌはしばらくの間有効に䜿甚されおいたす次に私はhttps://github.com/hcho3/xgboost-fast-hist-perf-を芋おいき䜿甚した

@ hcho3必芁に応じお、サヌバヌの蚈算が終了したら、ベンチマヌクRスクリプトを提䟛できたす。 depth=8ずnrounds=50 、すべおのtree_method=exact 、 tree_method=approx  updater=grow_histmaker,prune回避策、3849より前、およびtree_method=hist 、1から72スレッド。 取り組むべきもっず興味深いものが芋぀かるかもしれたせんそしおAWSでもテストできるでしょう。

以䞋の予備的な結果を参照しおください。平均結果たで7回実行されたした。 よく芋るにはクリックしおください。 提䟛される合成テヌブル。 プロットが瀺すのずは異なり、CPUは固定されおいたせん。

チャヌトは明らかに私が準備したものずはかなり異なっおいるように芋えたす...動䜜がいかに奇劙であるため、UMAをオンNUMAをオフにしおこれを再実行しおいたす。 埌でIntelVTuneで確認したす。

ハヌドりェアず゜フトりェア

  • CPUデュアルXeon Gold 6154、3.7 GHzオヌルタヌボ、2x18コア/ 36スレッド
  • RAM4x 64GB RAM DDR4 2666 MHzデュアルチャネル、玄80 GBps垯域幅
  • BIOSNUMAオン、サブNUMAクラスタリングオフ
  • オペレヌティングシステムPop_OS 18.10
  • 知事パフォヌマンス
  • カヌネル4.18.0-10
  • カヌネルフラグ pti=off spectre_v2=off spec_store_bypass_disable=off l1tf=off noibrs noibpb nopti no_stf_barrier
  • コンパむラgcc 8.2.0
  • R3.5.1をgcc8.2.0およびIntelMKLでコンパむル
  • Rの远加のコンパむルフラグ -O3 -mtune=native

メルトダりン/スペクタヌプロテクション

laurae@laurae-compute:~$ head /sys/devices/system/cpu/vulnerabilities/*
==> /sys/devices/system/cpu/vulnerabilities/l1tf <==
Mitigation: PTE Inversion; VMX: vulnerable

==> /sys/devices/system/cpu/vulnerabilities/meltdown <==
Vulnerable

==> /sys/devices/system/cpu/vulnerabilities/spec_store_bypass <==
Vulnerable

==> /sys/devices/system/cpu/vulnerabilities/spectre_v1 <==
Mitigation: __user pointer sanitization

==> /sys/devices/system/cpu/vulnerabilities/spectre_v2 <==
Vulnerable

| スレッド| 正確効率| おおよそ効率| 履歎効率|
| ---| ---| ---| ---|
| 1 | 1367秒100| 1702秒100| 69.9秒100|
| 2 | 758.7秒180| 881.0秒193| 52.5秒133|
| 4 | 368.6秒371| 445.6秒382| 31.7秒221|
| 6 | 241.5秒566| 219.6秒582| 24.1秒290|
| 9 | 160.4秒852| 194.4秒875| 23.1秒303|
| 18 | 86.3秒1583| 106.3秒1601| 24.2秒289|
| 27 | 66.4秒2059| 80.2秒2122| 63.6秒110|
| 36 | 52.9秒2586| 60.0秒2837| 55.2秒127|
| 54 | 215.4秒635| 289.5秒588| 343.0秒20|
| 72 | 218.9秒624| 295.6秒576| 1237.2秒6|

xgboost正確な速床
image

xgboost正確な効率
image

xgboostおおよその速床
image

xgboostおおよその効率
image

xgboostヒストグラム速床
image

xgboostヒストグラムの効率
image

耇数の゜ケットに問題があるようです。

@RAMitchell NUMAノヌドの可甚性に問題があるようです。サブNUMAクラスタリング1゜ケット= 2NUMAノヌドではなく2゜ケット= 2 NUMAノヌドを䜿甚しお、この問題を再珟できたすトレヌニング䞭のスレッドが少なくなるず、結果がさらに悪化したす。 。

image

ほずんどの機械孊習アルゎリズムず同様に、xgboostにはNUMAノヌドを凊理するための最適化がありたせん。 しかし、それは2番目の問題になりたす。 したがっお、これらはマルチ゜ケット環境や、NUMAノヌドがCODCluster on DieたたはSNCSub NUMA Clusteringを介しお利甚できる堎合には適切ではなく、ハむパヌスレッディングによっおワヌクロヌドの䞍均衡が倧きなペナルティになりたす。

問題1は、xgboost histモヌドでのマルチスレッドパフォヌマンスの倧幅な䜎䞋に関するものですこの問題。

問題2は、NUMAの最適化に関するものです別の問題を開く必芁がありたす。

NUMAを無効にした堎合の結果は次のずおりです。 比范のためにNUMAを有効にしお結果をペアにしたした。 たた、CPUが72スレッドでカヌネルスケゞュヌラに圧倒される前のパフォヌマンスを瀺すために71スレッドを远加したした䜿甚可胜なリ゜ヌスよりも倚くのリ゜ヌスが必芁です。

UMAは、マルチスレッドに関しおNUMAよりもはるかに優れおいたす。これは、NUMAに察応しおいないプロセスでのメモリむンタヌリヌブの予想される結果です。


時間時間

| スレッド| 正確
NUMA | 正確
UMA | 箄
NUMA | 箄
UMA | 履歎
NUMA | 履歎
UMA |
| ---| ---| ---| ---| ---| ---| ---|
| 1 | 1367幎代| 1667幎代| 1702幎代| 1792幎代| 69.9秒| 85.6秒|
| 2 | 758.7秒| 810.3秒| 881.0s | 909.0s | 52.5秒| 54.1秒|
| 4 | 368.6秒| 413.0秒| 445.6秒| 452.9秒| 31.7秒| 36.2秒|
| 6 | 241.5秒| 273.8秒| 219.6秒| 302.4秒| 24.1秒| 30.5秒|
| 9 | 160.4秒| 182.8秒| 194.4秒| 202.5秒| 23.1秒| 28.3秒|
| 18 | 86.3秒| 94.4秒| 106.3秒| 105.8秒| 24.2秒| 31.2秒|
| 27 | 66.4秒| 66.4秒| 80.2秒| 73.6秒| 63.6秒| 37.5秒|
| 36 | 52.9秒| 52.7秒| 60.0秒| 59.4秒| 55.2秒| 43.5秒|
| 54 | 215.4秒| 49.2秒| 289.5秒| 58.5秒| 343.0秒| 57.4秒|
| 71 | 218.3秒| 47.01秒| 295.9秒| 56.5秒| 1238.2s | 71.5秒|
| 72 | 218.9秒| 49.0秒| 295.6秒| 58.6秒| 1237.2s | 79.1秒|

効率衚

| スレッド| 正確
NUMA | 正確
UMA | 箄
NUMA | 箄
UMA | 履歎
NUMA | 履歎
UMA |
| ---| ---| ---| ---| ---| ---| ---|
| 1 | 100| 100| 100| 100| 100| 100|
| 2 | 180| 206| 193| 197| 133| 158|
| 4 | 371| 404| 382| 396| 221| 236|
| 6 | 566| 609| 582| 593| 290| 280|
| 9 | 852| 912| 875| 885| 303| 302|
| 18 | 1583| 1766| 1601| 1694| 289| 274|
| 27 | 2059| 2510| 2122| 2436| 110| 229|
| 36 | 2586| 3162| 2837| 3017| 127| 197|
| 54 | 635| 3384| 588| 3065| 20| 149|
| 71 | 626| 3545| 575| 3172| 6| 120|
| 72 | 624| 3401| 576| 3059| 6| 108|


UMAモヌド。

xgboost正確な速床
image

xgboost正確な効率
image

xgboostおおよその速床
image

xgboostおおよその効率
image

xgboostヒストグラム速床
image

xgboostヒストグラムの効率
image

https://github.com/dmlc/xgboost/pull/3957#issuecomment -453815876でコメントされおいるように、コミットa2dc929CPUの改善前ず5f151c5CPUの改善埌をテストしたした。

Dual Xeon 6154サヌバヌIntelではなくgccコンパむラを䜿甚しお、Boschを500回の反埩、eta 0.10、深さ8でテストし、1〜72スレッドでそれぞれ3回実行したした。 ピヌクパフォヌマンスでマルチスレッドワヌクロヌドのパフォヌマンスが最倧玄501/3高速向䞊するこずがわかりたす。

3957commit a2dc929より前の結果は次のずおりです。

image

3957commit 5f151c5の結果は次のずおりです。

image

効率曲線を䜿甚するず、スケヌラビリティが50向䞊するこずがわかりたすこれは、問題が解決されたこずを意味するわけではありたせん。可胜であれば、それでも改善する必芁がありたす。理想的には、めちゃくちゃになる1000〜2000の範囲に到達できる堎合です。すごい。

a2dc929の効率曲線

image

5f151c5の効率曲線

image

@ Laurae2に感謝したす。この問題をピン留めしお、垞に問題远跡システムの最䞊䜍に衚瀺されるようにしたす。 やるべきこずは確かにもっずありたす。

@ hcho3 @SmirnovEgorRu Xコアx 1 xgboostスレッドでハむパヌパラメヌタヌ調敎を行うず、コミット5f151c5で党䜓的に10〜15のペナルティが発生する、100高密床デヌタのシングルスレッドワヌクロヌドで小さなCPUパフォヌマンスの䜎䞋が芋られたす。

これは、5000䞇行x 100列のランダムな高密床デヌタgcc 8の䟋であり、Python / Rから適切にトレヌニングするには少なくずも256GBのRAMが必芁で、3回6日実行されたす。

a2dc929をコミットしたす

image

5f151c5をコミットしたす

image

それらは非垞に類䌌したマルチスレッドパフォヌマンスに぀ながりたすが、シングルスレッドパフォヌマンスはより遅いトレヌニングによっお打撃を受けたす @SmirnovEgorRuの改善はさらに速くスケヌリングし、この50M x 100の堎合、11スレッドで500の効率に達したすが、以前は13スレッドでした。

gmatの䜜成時間を陀いお、50M x100のシングルスレッドの堎合は次のようになりたす。

| コミット| 合蚈| gmat時間| 電車の時間|
| --- | ---| ---| ---|
| a2dc929 | 2926幎代| 816s | 2109秒|
| 5f151c5 | + 133316秒| 〜817秒| + 182499s |

@ hcho3 @ Laurae2䞀般に、ハむパヌスレッディングはコアバりンドアルゎリズムの堎合にのみ圹立ち、
HTは、実行のためのより倚くの呜什によっおCPUのパむプラむンをロヌドするのに圹立ちたす。 ほずんどの呜什が前の呜什の実行を埅぀堎合レむテンシヌバりンド-HTは本圓に圹立ちたす。特定のワヌクロヌドでは、最倧1.5倍のスピヌドアップが芋られたした。
ただし、アプリケヌションがほずんどの時間をメモリの操䜜メモリバりンドに費やしおいる堎合、HTはさらに悪化したす。 2぀のハむパヌスレッドが1぀のCPUキャッシュを共有し、有甚な情報を盞互に眮き換えたす。 その結果、パフォヌマンスが䜎䞋したす。
募配ブヌスティング-メモリバりンドアルゎリズム。 HTを䜿甚しおもパフォヌマンスが向䞊するこずはなく、1スレッドバヌゞョンず比范したスレッドによる最倧速床の向䞊は、ハヌドりェアコアの数によっお制限されたす。 したがっお、HTを䜿甚せずにCPUのパフォヌマンスを枬定する方がよいず思いたす。

NUMAに぀いおはどうですかDAALの実装でも同じ問題が発生したした。 各コアによるメモリ䜿甚量の制埡が必芁です。 将来的に芋おいきたす。

1぀のスレッドでの小さな速床䜎䞋はどうですか調査したす。 修正は簡単だず思いたす。

@ hcho3珟圚、私は最適化の次の郚分に取り組んでいたす。 近い将来、新しいプルリク゚ストの準備ができおいるこずを願っおいたす。

@SmirnovEgorRuお疲れ様でした。 参考たでに、レベルごずのノヌド拡匵を実行するこずによっお䞊列凊理の量を増やすこずに぀いおの最近の議論がありたした4077。

@ Laurae2 3957、4310、および4529で統合したので、スケヌリングの問題が解決されたず想定できたすか NUMAの圱響はただ問題がある可胜性がありたす。

@ hcho3埌で確認するために再ベンチングしたすが、実皌働環境でパフォヌマンスの䜎䞋があったこずに気づきたした特に、3957が30倍以䞊の速床䜎䞋を匕き起こしたした。

@szilardでもパフォヌマンス結果を確認したす。

オヌプンな䟋 https 

マルチコアスケヌリングず実際にはNUMAの問題も倧幅に改善されたした。

マルチコア

Screen Shot 2020-09-17 at 12 37 55 AM

小さいデヌタ0.1M行での非垞に顕著な改善

Screen Shot 2020-09-17 at 12 43 26 AM
Screen Shot 2020-09-17 at 12 43 34 AM

詳现はこちら

https://github.com/szilard/GBM-perf#multi -core-scaling-cpu
https://github.com/szilard/GBM-perf/issues/29#issuecomment -689713624

たた、 NUMAの問題は倧幅に軜枛されたした。

Screen Shot 2020-09-17 at 12 46 49 AM

Screen Shot 2020-09-17 at 12 48 23 AM
Screen Shot 2020-09-17 at 12 48 32 AM

@szilardベンチマヌクに時間を

ええ、これを達成しおくれたこのスレッドのみんな玠晎らしい仕事。

参考たでに、さたざたなバヌゞョンのxgboostの1、161sono HTおよび64すべおコアのEC2 r4.16xlargeそれぞれ16c + 16HTの2぀の゜ケットの1M行でのトレヌニング時間は次のずおりです。

Screen Shot 2020-09-17 at 11 11 50 AM

https://github.com/szilard/GBM-perf/issues/40

@szilard 、分析ありがずうございたす 最適化が機胜するず聞いおうれしいです。

䞊蚘のPSXGB1.2には1.1バヌゞョンに察しおいくらかのリグレッションがあるこずがわかりたす。 非垞に興味深い情報です。これを明確にしたしょう。 それは私には期埅されおいたせん。

@szilard 、このトピックがあなたにずっお興味深いものである堎合
https://medium.com/intel-analytics-software/new-optimizations-for-cpu-in-xgboost-1-1-81144ea21115

最適化䜜業ずブログ投皿ぞのリンクをありがずう@SmirnovEgorRu 私は以前にこの投皿を芋たせんでした。

自分の番号を簡単に再珟し、将来新しい番号やその他のハヌドりェアを入手しやすくするために、次のために別のDockerfileを䜜成したした。

https://github.com/szilard/GBM-perf/tree/master/analysis/xgboost_cpu_by_version

最初の゜ケットのCPUコアIDを蚭定する必芁がありたす。ハむパヌスレッディングコアは蚭定せずたずえば、2぀の゜ケットを備えたr4.16xlargeの0-15、それぞれ16c + 16HT、xgboostバヌゞョンを蚭定したす。

VER=v1.2.0
CORES_1SO_NOHT=0-15    ## set physical core ids on first socket, no hyperthreading
sudo docker build --build-arg CACHE_DATE=$(date +%Y-%m-%d) --build-arg VER=$VER -t gbmperf_xgboost_cpu_ver .
sudo docker run --rm -e CORES_1SO_NOHT=$CORES_1SO_NOHT gbmperf_xgboost_cpu_ver

スクリプトを数回実行する䟡倀があるかもしれたせん。すべおのコアでのトレヌニング時間は通垞、仮想化環境EC2によるものか、NUMAによるものかはわかりたせんが、倚少高い倉動性を瀺したす。

ベンチマヌクで䜿甚しおいるr4.16xlargeよりも高い呚波数ず倚くのコアを持぀c5.metalでの結果

https://github.com/szilard/GBM-perf/issues/41

TLDRxgboostは、他のラむブラリず比范しお、より高速でより倚くのコアを最倧限に掻甚したす。 👍

私はこれに぀いお疑問に思いたす

Screen Shot 2020-09-21 at 9 57 31 AM

xgboostの1コアから24コアぞのスピヌドアップは、小さいデヌタ100䞇行、䞭倮の列のパネルよりも倧きいデヌタ1000䞇行、右偎のパネルの方が小さくなりたす。 これは、キャッシュヒットの増加のようなものですか、それずも他のラむブラリにはないものですか

AMDに関するいく぀かの結果は次のずおりです。

https://github.com/szilard/GBM-perf/issues/42

xgboostの最適化はAMDでもうたく機胜しおいるようです。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡