-
Notifications
You must be signed in to change notification settings - Fork 272
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
Port PacketTracer benchmarks #382
Conversation
@adamsitnik Would it make more sense to place this benchmark under a |
This benchmark only runs on |
@jorive it looks like we have what we want - this benchmark won't be built/run on ARM. Do you want me to rename the namespace/type/method name as suggested? I have also sent a PR to BDN that will make it much easier for us in the future: dotnet/BenchmarkDotNet#1097 |
@adamsitnik Thanks Adam. I would prefer to rename the namespace/class/method (from PacketTracer/Render/Run to something like StructureOfArray/RayTracer/Render), but maybe @billwert have a different opinion. |
I think that this explains why the author of the benchmark did not add a namespace to it in the first place, the naming is just hard ;) My proposal: HardwareIntrinsics/RayTracer/Render @jorive what do you say? |
I think if we believe these benchmarks are solely for the purpose of testing hardware intrinsicics, we should go with HardwareIntrinsics/RayTracer/Render. If we think there is value in keeping PacketTracer for name recognition perhaps PacketTracer/HardwareIntrinsics/Render? |
The benchmark is more about data storage/layout than "HardwareIntrinsics". The benchmarks is more about: Data Layout > StructureOfArray > RayTracer > Render |
I think that the original concept behind it was to test the performance of the features exposed by the new Hardware Intrinsics API but using a SoA algorithm. @fiigii as the author of this benchmark, what name do you recommend for it? I know it sounds silly ;) |
Packet tracing is a convention name in the graphics area that indicates the SoA vectorized ray tracing algorithm (but this benchmark is a simplified version without BVH). I am okay to rename it in this dotnet repo. Maybe
Originally, I created this benchmark for hardware intrinsic to leverage the 256-bit SIMD vectors (comparing to the AoS ray-tracer we had for benchmarking |
src/benchmarks/micro/coreclr/PacketTracer/ProducerConsumerCollectionBase.cs
Outdated
Show resolved
Hide resolved
Namespace: |
Fixes #113
Please see the commits history for what I have copied and what I have modified.
This is the only and the last missing CoreCLR benchmark