 Heterogeneous Modern C++ with SYCL 20201Michael Wong Distinguished Engineer ● Chair of SYCL Heterogeneous Programming Language ● ISO C++ Directions Group past Chair ● Past CEO OpenMP ● ISOCPP.org Director, VP http://isocpp.org/wiki/ leading team developing HIP & CUDA backends for DPC++ Background in C++ programming models for heterogeneous systems Worked on ComputeCpp (SYCL) since its inception Contributor to the Khronos SYCL standard AI/Tensor HW Other BackendsSYCL 2020 is here! Open Standard for Single Source C++ Parallel Heterogeneous Programming SYCL 2020 is released after 3 years of intense work Significant adoption in Embedded0 码力 | 114 页 | 7.94 MB | 6 月前3 Heterogeneous Modern C++ with SYCL 20201Michael Wong Distinguished Engineer ● Chair of SYCL Heterogeneous Programming Language ● ISO C++ Directions Group past Chair ● Past CEO OpenMP ● ISOCPP.org Director, VP http://isocpp.org/wiki/ leading team developing HIP & CUDA backends for DPC++ Background in C++ programming models for heterogeneous systems Worked on ComputeCpp (SYCL) since its inception Contributor to the Khronos SYCL standard AI/Tensor HW Other BackendsSYCL 2020 is here! Open Standard for Single Source C++ Parallel Heterogeneous Programming SYCL 2020 is released after 3 years of intense work Significant adoption in Embedded0 码力 | 114 页 | 7.94 MB | 6 月前3
 Khronos APIs for Heterogeneous Compute and Safety: SYCL and SYCL SCFPGAs AMD GPUs Any CPU SYCL enables Khronos to influence ISO C++ to (eventually) support heterogeneous compute SYCL, OpenCL and SPIR-V, as open industry standards, enable flexible integration and more) Any CPU Experimental SYCL enables Khronos to influence ISO C++ to (eventually) support heterogeneous compute SYCL, OpenCL and SPIR-V, as open industry standards, enable flexible integration and MobileyeSYCL IR ON COMPILER EXPLORERhttps://godbolt.org/z/jdhKr7e5rExpressiveness and simplicity for heterogeneous programming in modern C++ New Features Unified Shared Memory | Parallel Reductions | Subgroup0 码力 | 82 页 | 3.35 MB | 6 月前3 Khronos APIs for Heterogeneous Compute and Safety: SYCL and SYCL SCFPGAs AMD GPUs Any CPU SYCL enables Khronos to influence ISO C++ to (eventually) support heterogeneous compute SYCL, OpenCL and SPIR-V, as open industry standards, enable flexible integration and more) Any CPU Experimental SYCL enables Khronos to influence ISO C++ to (eventually) support heterogeneous compute SYCL, OpenCL and SPIR-V, as open industry standards, enable flexible integration and MobileyeSYCL IR ON COMPILER EXPLORERhttps://godbolt.org/z/jdhKr7e5rExpressiveness and simplicity for heterogeneous programming in modern C++ New Features Unified Shared Memory | Parallel Reductions | Subgroup0 码力 | 82 页 | 3.35 MB | 6 月前3
 julia 1.10.10Threadpools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 24.3 Communication and synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . 302 24.4 The @threads they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1692 页 | 6.34 MB | 3 月前3 julia 1.10.10Threadpools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 24.3 Communication and synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . 302 24.4 The @threads they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1692 页 | 6.34 MB | 3 月前3
 Julia 1.10.9Threadpools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 24.3 Communication and synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . 302 24.4 The @threads they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1692 页 | 6.34 MB | 3 月前3 Julia 1.10.9Threadpools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 24.3 Communication and synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . 302 24.4 The @threads they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1692 页 | 6.34 MB | 3 月前3
 Julia 1.11.4@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 323 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 2007 页 | 6.73 MB | 3 月前3 Julia 1.11.4@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 323 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 2007 页 | 6.73 MB | 3 月前3
 Julia 1.11.5 Documentation@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 323 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 2007 页 | 6.73 MB | 3 月前3 Julia 1.11.5 Documentation@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 323 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 2007 页 | 6.73 MB | 3 月前3
 Julia 1.11.6 Release Notes@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 323 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 2007 页 | 6.73 MB | 3 月前3 Julia 1.11.6 Release Notes@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 323 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 2007 页 | 6.73 MB | 3 月前3
 Julia 1.10.6 DocumentationThreadpools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 24.3 Communication and synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . 301 24.4 The @threads they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1691 页 | 6.33 MB | 10 月前3 Julia 1.10.6 DocumentationThreadpools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 24.3 Communication and synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . 301 24.4 The @threads they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1691 页 | 6.33 MB | 10 月前3
 Julia 1.11.0-rc4 Documentation@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 322 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1985 页 | 6.67 MB | 10 月前3 Julia 1.11.0-rc4 Documentation@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 322 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1985 页 | 6.67 MB | 10 月前3
 Julia 1.11.0 Documentation@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 322 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1987 页 | 6.67 MB | 10 月前3 Julia 1.11.0 Documentation@threads Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 25.4 Communication and data-races between threads . . . . . . . . . . . . . . . . . . . 322 25.5 Side effects and they get converted to that type using convert and that type is the array's eltype. Otherwise, a heterogeneous array that can hold anything — a Vector{Any} — is constructed; this includes the literal [] where type T, initialized to contain elements A, B, C, etc. For example, Any[x, y, z] constructs a heterogeneous array that can contain any values. Concatenation syntax can similarly be prefixed with a type0 码力 | 1987 页 | 6.67 MB | 10 月前3
共 141 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15














 
  
 