Skip to content
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

Candidate for the v0.9.0 release tag #1519

Merged
merged 21 commits into from
Apr 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
9da9568
Merge pull request #1461 from Bensuo/coverity_L0_update
aarongreig Mar 25, 2024
f67c6e4
Merge pull request #1468 from pbalcer/l0-recursive-event-deadlock
aarongreig Mar 25, 2024
a75f7d0
Merge pull request #1363 from hdelan/refactor-device-initialization
aarongreig Mar 27, 2024
20102fd
Merge pull request #1467 from aarongreig/aaron/eventExecStatusError
aarongreig Mar 28, 2024
40b21cc
Merge pull request #1460 from hdelan/remove-unused-prototypes
aarongreig Apr 1, 2024
74a8f04
Merge pull request #1485 from aarongreig/aaron/addDeviceNotAvailableErrC
aarongreig Apr 1, 2024
1ee81f4
Merge pull request #1450 from kbenzie/benie/cl-fpga-atomic-memory-ord…
aarongreig Apr 2, 2024
65af257
Merge pull request #1486 from nrspruit/fix_memfree_report
aarongreig Apr 5, 2024
410c023
Merge pull request #1448 from steffenlarsen/steffen/make_ext_func_fai…
kbenzie Apr 4, 2024
26cc04e
Merge pull request #1433 from Seanst98/sean/cubemaps-UR
aarongreig Apr 8, 2024
532dac5
Merge pull request #1455 from GeorgeWeb/georgi/fix-hip-usm-copy2d
aarongreig Apr 10, 2024
bcbe255
Merge pull request #1483 from nrspruit/fix_inorder_lists_reuse
aarongreig Apr 10, 2024
6465c98
Merge pull request #1498 from wenju-he/ZeImageDesc-urMemImageCreateWi…
aarongreig Apr 12, 2024
4f6997e
Merge pull request #1492 from nrspruit/l0_queue_sync_unblocking
aarongreig Apr 15, 2024
151d5a6
Merge pull request #1494 from nrspruit/usm_exp_table_enable
aarongreig Apr 15, 2024
e9f363d
Merge pull request #1507 from nrspruit/fix_p2p_properties_init
aarongreig Apr 16, 2024
5c2017f
Merge pull request #1471 from pbalcer/remove-coverage
pbalcer Mar 25, 2024
db80d60
Merge pull request #1516 from pbalcer/disable-clang-l0
lukaszstolarczuk Apr 17, 2024
ce58dfd
Merge pull request #1298 from pbalcer/immcmd-out-of-order-completion-…
aarongreig Apr 19, 2024
02e7f28
Merge pull request #1495 from nrspruit/kernel_work_group_size
aarongreig Apr 19, 2024
84d7a49
Merge pull request #1517 from nrspruit/fix_l0_coverity_sync
aarongreig Apr 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,10 @@ jobs:
]
build_type: [Debug, Release]
compiler: [{c: gcc, cxx: g++}, {c: clang, cxx: clang++}]
# TODO: The latest L0 loader segfaults when built with clang.
exclude:
- adapter: {name: L0, platform: ""}
compiler: {c: clang, cxx: clang++}

runs-on: ${{matrix.adapter.name}}

Expand Down
83 changes: 0 additions & 83 deletions .github/workflows/coverage.yml

This file was deleted.

101 changes: 93 additions & 8 deletions include/ur_api.h

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions include/ur_print.h
Original file line number Diff line number Diff line change
Expand Up @@ -882,6 +882,14 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintUsmMigrationFlags(enum ur_usm_migrati
/// - `buff_size < out_size`
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpImageCopyFlags(enum ur_exp_image_copy_flag_t value, char *buffer, const size_t buff_size, size_t *out_size);

///////////////////////////////////////////////////////////////////////////////
/// @brief Print ur_exp_sampler_cubemap_filter_mode_t enum
/// @returns
/// - ::UR_RESULT_SUCCESS
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// - `buff_size < out_size`
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpSamplerCubemapFilterMode(enum ur_exp_sampler_cubemap_filter_mode_t value, char *buffer, const size_t buff_size, size_t *out_size);

///////////////////////////////////////////////////////////////////////////////
/// @brief Print ur_exp_file_descriptor_t struct
/// @returns
Expand Down Expand Up @@ -914,6 +922,14 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintExpSamplerMipProperties(const struct
/// - `buff_size < out_size`
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpSamplerAddrModes(const struct ur_exp_sampler_addr_modes_t params, char *buffer, const size_t buff_size, size_t *out_size);

///////////////////////////////////////////////////////////////////////////////
/// @brief Print ur_exp_sampler_cubemap_properties_t struct
/// @returns
/// - ::UR_RESULT_SUCCESS
/// - ::UR_RESULT_ERROR_INVALID_SIZE
/// - `buff_size < out_size`
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpSamplerCubemapProperties(const struct ur_exp_sampler_cubemap_properties_t params, char *buffer, const size_t buff_size, size_t *out_size);

///////////////////////////////////////////////////////////////////////////////
/// @brief Print ur_exp_interop_mem_desc_t struct
/// @returns
Expand Down
95 changes: 95 additions & 0 deletions include/ur_print.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -320,10 +320,12 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_execution_info_t value
inline std::ostream &operator<<(std::ostream &os, enum ur_map_flag_t value);
inline std::ostream &operator<<(std::ostream &os, enum ur_usm_migration_flag_t value);
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_image_copy_flag_t value);
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_sampler_cubemap_filter_mode_t value);
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_file_descriptor_t params);
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_win32_handle_t params);
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_sampler_mip_properties_t params);
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_sampler_addr_modes_t params);
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_sampler_cubemap_properties_t params);
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_interop_mem_desc_t params);
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_interop_semaphore_desc_t params);
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_command_buffer_info_t value);
Expand Down Expand Up @@ -1068,6 +1070,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_structure_type_t value
case UR_STRUCTURE_TYPE_EXP_SAMPLER_ADDR_MODES:
os << "UR_STRUCTURE_TYPE_EXP_SAMPLER_ADDR_MODES";
break;
case UR_STRUCTURE_TYPE_EXP_SAMPLER_CUBEMAP_PROPERTIES:
os << "UR_STRUCTURE_TYPE_EXP_SAMPLER_CUBEMAP_PROPERTIES";
break;
default:
os << "unknown enumerator";
break;
Expand Down Expand Up @@ -1319,6 +1324,11 @@ inline ur_result_t printStruct(std::ostream &os, const void *ptr) {
const ur_exp_sampler_addr_modes_t *pstruct = (const ur_exp_sampler_addr_modes_t *)ptr;
printPtr(os, pstruct);
} break;

case UR_STRUCTURE_TYPE_EXP_SAMPLER_CUBEMAP_PROPERTIES: {
const ur_exp_sampler_cubemap_properties_t *pstruct = (const ur_exp_sampler_cubemap_properties_t *)ptr;
printPtr(os, pstruct);
} break;
default:
os << "unknown enumerator";
return UR_RESULT_ERROR_INVALID_ENUMERATION;
Expand Down Expand Up @@ -1539,6 +1549,12 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_result_t value) {
case UR_RESULT_ERROR_LAYER_NOT_PRESENT:
os << "UR_RESULT_ERROR_LAYER_NOT_PRESENT";
break;
case UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS:
os << "UR_RESULT_ERROR_IN_EVENT_LIST_EXEC_STATUS";
break;
case UR_RESULT_ERROR_DEVICE_NOT_AVAILABLE:
os << "UR_RESULT_ERROR_DEVICE_NOT_AVAILABLE";
break;
case UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP:
os << "UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP";
break;
Expand Down Expand Up @@ -2540,6 +2556,12 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value) {
case UR_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT_EXP:
os << "UR_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT_EXP";
break;
case UR_DEVICE_INFO_CUBEMAP_SUPPORT_EXP:
os << "UR_DEVICE_INFO_CUBEMAP_SUPPORT_EXP";
break;
case UR_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT_EXP:
os << "UR_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT_EXP";
break;
default:
os << "unknown enumerator";
break;
Expand Down Expand Up @@ -4144,6 +4166,30 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info

os << ")";
} break;
case UR_DEVICE_INFO_CUBEMAP_SUPPORT_EXP: {
const ur_bool_t *tptr = (const ur_bool_t *)ptr;
if (sizeof(ur_bool_t) > size) {
os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")";
return UR_RESULT_ERROR_INVALID_SIZE;
}
os << (const void *)(tptr) << " (";

os << *tptr;

os << ")";
} break;
case UR_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT_EXP: {
const ur_bool_t *tptr = (const ur_bool_t *)ptr;
if (sizeof(ur_bool_t) > size) {
os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")";
return UR_RESULT_ERROR_INVALID_SIZE;
}
os << (const void *)(tptr) << " (";

os << *tptr;

os << ")";
} break;
default:
os << "unknown enumerator";
return UR_RESULT_ERROR_INVALID_ENUMERATION;
Expand Down Expand Up @@ -5320,6 +5366,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_mem_type_t value) {
case UR_MEM_TYPE_IMAGE1D_BUFFER:
os << "UR_MEM_TYPE_IMAGE1D_BUFFER";
break;
case UR_MEM_TYPE_IMAGE_CUBEMAP_EXP:
os << "UR_MEM_TYPE_IMAGE_CUBEMAP_EXP";
break;
default:
os << "unknown enumerator";
break;
Expand Down Expand Up @@ -8673,6 +8722,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_event_status_t value)
case UR_EVENT_STATUS_QUEUED:
os << "UR_EVENT_STATUS_QUEUED";
break;
case UR_EVENT_STATUS_ERROR:
os << "UR_EVENT_STATUS_ERROR";
break;
default:
os << "unknown enumerator";
break;
Expand Down Expand Up @@ -9128,6 +9180,24 @@ inline ur_result_t printFlag<ur_exp_image_copy_flag_t>(std::ostream &os, uint32_
}
} // namespace ur::details
///////////////////////////////////////////////////////////////////////////////
/// @brief Print operator for the ur_exp_sampler_cubemap_filter_mode_t type
/// @returns
/// std::ostream &
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_sampler_cubemap_filter_mode_t value) {
switch (value) {
case UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED:
os << "UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED";
break;
case UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS:
os << "UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS";
break;
default:
os << "unknown enumerator";
break;
}
return os;
}
///////////////////////////////////////////////////////////////////////////////
/// @brief Print operator for the ur_exp_file_descriptor_t type
/// @returns
/// std::ostream &
Expand Down Expand Up @@ -9250,6 +9320,31 @@ inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_sampler_ad
return os;
}
///////////////////////////////////////////////////////////////////////////////
/// @brief Print operator for the ur_exp_sampler_cubemap_properties_t type
/// @returns
/// std::ostream &
inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_sampler_cubemap_properties_t params) {
os << "(struct ur_exp_sampler_cubemap_properties_t){";

os << ".stype = ";

os << (params.stype);

os << ", ";
os << ".pNext = ";

ur::details::printStruct(os,
(params.pNext));

os << ", ";
os << ".cubemapFilterMode = ";

os << (params.cubemapFilterMode);

os << "}";
return os;
}
///////////////////////////////////////////////////////////////////////////////
/// @brief Print operator for the ur_exp_interop_mem_desc_t type
/// @returns
/// std::ostream &
Expand Down
15 changes: 15 additions & 0 deletions scripts/core/EXP-BINDLESS-IMAGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ Runtime:
* Sampled images
* Unsampled images
* Mipmaps
* Cubemaps
* USM backed images

* Interoperability support
Expand All @@ -69,6 +70,7 @@ Enums
${X}_STRUCTURE_TYPE_EXP_FILE_DESCRIPTOR
${X}_STRUCTURE_TYPE_EXP_WIN32_HANDLE
${X}_STRUCTURE_TYPE_EXP_SAMPLER_ADDR_MODES
${X}_STRUCTURE_TYPE_EXP_SAMPLER_CUBEMAP_PROPERTIES

* ${x}_device_info_t
* ${X}_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT_EXP
Expand All @@ -87,6 +89,8 @@ Enums
* ${X}_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT_EXP
* ${X}_DEVICE_INFO_INTEROP_SEMAPHORE_IMPORT_SUPPORT_EXP
* ${X}_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT_EXP
* ${X}_DEVICE_INFO_CUBEMAP_SUPPORT_EXP
* ${X}_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT_EXP

* ${x}_command_t
* ${X}_COMMAND_INTEROP_SEMAPHORE_WAIT_EXP
Expand All @@ -97,6 +101,10 @@ Enums
* ${X}_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST
* ${X}_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE

* ${x}_exp_sampler_cubemap_filter_mode_t
* ${X}_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS
* ${X}_EXP_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED

* ${x}_function_t
* ${X}_FUNCTION_USM_PITCHED_ALLOC_EXP
* ${X}_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_HANDLE_DESTROY_EXP
Expand All @@ -117,6 +125,9 @@ Enums
* ${X}_FUNCTION_BINDLESS_IMAGES_WAIT_EXTERNAL_SEMAPHORE_EXP
* ${X}_FUNCTION_BINDLESS_IMAGES_SIGNAL_EXTERNAL_SEMAPHORE_EXP

* ${x}_mem_type_t
* ${X}_MEM_TYPE_IMAGE_CUBEMAP_EXP

Types
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* ${x}_exp_sampler_mip_properties_t
Expand All @@ -129,6 +140,7 @@ Types
* ${x}_exp_file_descriptor_t
* ${x}_exp_win32_handle_t
* ${x}_exp_sampler_addr_modes_t
* ${x}_exp_sampler_cubemap_properties_t

Functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -184,6 +196,9 @@ Changelog
+------------------------------------------------------------------------+
| 9.0 | Remove layered image properties struct. |
+------------------------------------------------------------------------+
| 10.0 | Added cubemap image type, sampling properties, and device |
| | queries. |
+----------+-------------------------------------------------------------+

Contributors
--------------------------------------------------------------------------------
Expand Down
4 changes: 4 additions & 0 deletions scripts/core/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,10 @@ etors:
via the urPlatformGetLastError entry point."
- name: ERROR_LAYER_NOT_PRESENT
desc: "A requested layer was not found by the loader."
- name: ERROR_IN_EVENT_LIST_EXEC_STATUS
desc: "An event in the provided wait list has $X_EVENT_STATUS_ERROR."
- name: ERROR_DEVICE_NOT_AVAILABLE
desc: "Device in question has `$X_DEVICE_INFO_AVAILABLE == false`"
- name: ERROR_UNKNOWN
value: "0x7ffffffe"
desc: "Unknown or internal error"
Expand Down
Loading