1
0
mirror of https://github.com/fumiama/base16384-sycl.git synced 2026-06-05 00:32:49 +08:00

fix(tests): wait out-of-loop

This commit is contained in:
源文雨
2025-10-13 17:06:16 +08:00
parent cc5dacf669
commit 627f1394d1
2 changed files with 36 additions and 17 deletions

View File

@@ -44,12 +44,31 @@ jobs:
# Install Visual Studio Build Tools and CMake
choco install cmake visualstudio2022buildtools visualstudio2022-workload-vctools -y
# Download and install Intel oneAPI
Invoke-WebRequest -Uri "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/f5881e61-dcdc-40f1-9bd9-717081ac623c/intel-oneapi-base-toolkit-2025.2.1.46_offline.exe" -OutFile "install.exe"
./install.exe -s -a --silent --eula accept
# Download and install Intel oneAPI Base Toolkit using the web installer
$url = "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d91caaa0-7306-46ea-a519-79a0423e1903/w_BaseKit_p_2024.2.1.101_offline.exe"
$installer = "oneapi_installer.exe"
# List installed Files
ls "C:\Program Files (x86)\Intel\oneAPI"
Write-Host "Downloading Intel oneAPI Base Toolkit..."
Invoke-WebRequest -Uri $url -OutFile $installer -UseBasicParsing
if (Test-Path $installer) {
Write-Host "Installer downloaded successfully"
Write-Host "Installing Intel oneAPI Base Toolkit..."
Start-Process -FilePath $installer -ArgumentList "--silent", "--eula", "accept", "--components", "intel.oneapi.win.dpcpp-compiler" -Wait
Write-Host "Installation completed"
} else {
Write-Error "Failed to download installer"
exit 1
}
# Verify installation
if (Test-Path "C:\Program Files (x86)\Intel\oneAPI") {
Write-Host "oneAPI installation verified"
Get-ChildItem "C:\Program Files (x86)\Intel\oneAPI" | Format-Table Name
} else {
Write-Error "oneAPI installation failed"
exit 1
}
- name: Build and Run Tests
shell: cmd

View File

@@ -85,11 +85,11 @@ int main() {
// test basic parallel kernel
start_time = std::chrono::high_resolution_clock::now();
auto errn = base16384::errors::try_failed([&]() {
for (int j = 0; j < iter_count; j++) {
q.parallel_for(sycl::range<1>(N),
[=](sycl::id<1> i) { data[i] = base16384::test::kernels_basic(data[i]); });
}
q.wait();
q.parallel_for(sycl::range<1>(N), [=](sycl::id<1> i) {
for (int j = 0; j < iter_count; j++) {
data[i] = base16384::test::kernels_basic(data[i]);
}
}).wait();
});
end_time = std::chrono::high_resolution_clock::now();
duration = std::chrono::duration_cast<std::chrono::microseconds>(end_time - start_time);
@@ -115,14 +115,14 @@ int main() {
start_time = std::chrono::high_resolution_clock::now();
errn = base16384::errors::try_failed([&]() {
for (int j = 0; j < iter_count; j++) {
q.parallel_for(sycl::nd_range<1>(N, work_group_size),
[=](sycl::nd_item<1> item) { // sub-group size
const auto i = item.get_global_id(0);
q.parallel_for(sycl::nd_range<1>(N, work_group_size),
[=](sycl::nd_item<1> item) { // sub-group size
const auto i = item.get_global_id(0);
for (int j = 0; j < iter_count; j++) {
data[i] = base16384::test::kernels_basic(data[i]);
});
}
q.wait();
}
})
.wait();
});
end_time = std::chrono::high_resolution_clock::now();
duration = std::chrono::duration_cast<std::chrono::microseconds>(end_time - start_time);