Skip to content

Add ASV benchmark suite for dpctl - #2378

Open
vchamarthi wants to merge 3 commits into
IntelPython:masterfrom
vchamarthi:asv-benchmarks
Open

Add ASV benchmark suite for dpctl#2378
vchamarthi wants to merge 3 commits into
IntelPython:masterfrom
vchamarthi:asv-benchmarks

Conversation

@vchamarthi

@vchamarthi vchamarthi commented Sep 9, 2026

Copy link
Copy Markdown

Adds benchmarks/ covering: object construction, get_device_cached_queue, USM alloc/free, device enumeration, kernel bundle compile (SPIR-V/OpenCL/SYCL source, cold vs. warm), data movement, kernel submit.

Coverage (53 benchmarks, 7 files)

File Class API exercised
bench_construct.py Construct SyclDevice/SyclContext/SyclQueue construction, from selector, from device, from (context, device), in_order property
ConstructPlatform SyclPlatform() construction
DeviceProperties name/driver_version/max_compute_units/max_work_group_size/global_mem_size/has_aspect_fp64
QueueAccessors sycl_device/sycl_context accessors
bench_queue_cache.py QueueCache get_device_cached_queue (context, device) key, device key, filter-string key, vs. an uncached baseline
bench_usm.py USMAllocation MemoryUSM{Device,Host,Shared} alloc/free, aligned alloc (alignment=4096)
USMFirstTouch alloc + first write + free
USMQueries get_usm_type, __sycl_usm_array_interface__
bench_enumerate.py Enumerate get_devices/get_num_devices × device_type × backend
Select select_default_device/select_cpu_device/select_gpu_device/has_cpu_devices/has_gpu_devices/select_device_with_aspects
bench_compile.py BundleFromSPIRV create_kernel_bundle_from_spirv, get_sycl_kernel/has_sycl_kernel
BundleFromOpenCLSource create_kernel_bundle_from_source cold (unique kernel name) vs. warm (cache hit)
BundleFromSYCLSource create_kernel_bundle_from_sycl_source cold vs. warm
SourceCompilationProbe SyclDevice.can_compile("sycl")
bench_copy.py HostDeviceCopy SyclQueue.memcpy/memcpy_async, _Memory.copy_from_host/copy_to_host
DeviceDeviceCopy SyclQueue.memcpy (d2d), _Memory.copy_from_device
Fill SyclQueue.memset/fill/memset_async, _Memory.memset
bench_submit.py Submit submit, submit_async (single + batched)
Synchronize submit_barrier, SyclQueue.wait, SyclEvent.wait
  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • Have you checked performance impact of proposed changes?
  • Have you added documentation for your changes, if necessary?
  • Have you added your changes to the changelog?
  • If this PR is a work in progress, are you opening the PR as a draft?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant