-
Notifications
You must be signed in to change notification settings - Fork 439
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[backend-comparison] Add system information to benchmark results #1495
Conversation
.filter(|adapter| { | ||
let info = adapter.get_info(); | ||
info.device_type == wgpu::DeviceType::DiscreteGpu | ||
}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we want to keep the integrated GPU as well. For instance, newer Macs with M1/2/3 chips use integrated GPUs (powerful ones) with shared memory.
fn enumerate_gpus() -> Vec<String> { | ||
let instance = wgpu::Instance::default(); | ||
let adapters: Vec<wgpu::Adapter> = instance | ||
.enumerate_adapters(wgpu::Backends::all()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any duplicates when enumerating all adapters for all backends? Should we select the backend based on the OS here?
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1495 +/- ##
==========================================
- Coverage 85.90% 85.86% -0.05%
==========================================
Files 663 664 +1
Lines 75447 75487 +40
==========================================
+ Hits 64816 64818 +2
- Misses 10631 10669 +38 ☔ View full report in Codecov by Sentry. |
I added the integrated GPUs and also the selection algo from burn-wgpu On my intel macbook I get this systeminfo:
|
We have a regression when using the |
Fixed by disabling the default features for |
Well we end up in the same situation than: #1476 @nathanielsimard so the solution is to remove the fusion default in wgpu ? |
069783b
to
1d9cb05
Compare
I think we should just not enable the default features when running the burn-wgpu benchmarks, but I still think we should keep fusion in the default features of burn-wgpu, since it should be automatically enabled by users. |
pub(crate) struct BenchmarkSystemInfo { | ||
cpus: Vec<String>, | ||
gpus: Vec<String>, | ||
} | ||
|
||
impl BenchmarkSystemInfo { | ||
pub(crate) fn new() -> Self { | ||
Self { | ||
cpus: BenchmarkSystemInfo::enumerate_cpus(), | ||
gpus: BenchmarkSystemInfo::enumerate_gpus(), | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clean 👌
1d9cb05
to
d3fd97c
Compare
I merged it but we still have the regression that in the current feature config we cannot enable wgpu alone in the benchmarks. It is not trivial to fix this as mentioned in #1476 |
Pull Request Template
Checklist
run-checks all
script has been executed.Related Issues/PRs
#1072
Changes
Add system information using
sysinfo
crate for the CPUs andwgpu
crate for the GPUs.