Skip to content

Commit 4b80f05

Browse files
committed
Regenerate wrappers for ROCm v6.3.3
1 parent 71cd9f4 commit 4b80f05

File tree

14 files changed

+31008
-13765
lines changed

14 files changed

+31008
-13765
lines changed

gen/rocblas/rocblas-generator.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
library_name = "librocblas"
33
output_file_path = "./librocblas.jl"
44
export_symbol_prefixes = []
5+
print_using_CEnum = false
56

67
[codegen]
78
use_ccall_macro = true

gen/rocfft/rocfft-generator.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
library_name = "librocfft"
33
output_file_path = "./librocfft.jl"
44
export_symbol_prefixes = []
5+
print_using_CEnum = false
56

67
[codegen]
78
use_ccall_macro = true

gen/rocsolver/generator.jl

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,33 @@ using Clang, Clang.Generators
55
using JuliaFormatter
66

77
include_dir = normpath("/opt/rocm/include")
8-
9-
rocsolver_dir = joinpath(include_dir, "rocsolver")
8+
rocblas_dir = joinpath(include_dir, "rocblas", "internal")
9+
rocsolver_dir = joinpath(include_dir, "rocsolver")
1010
options = load_options("rocsolver/rocsolver-generator.toml")
1111

1212
args = get_default_args()
13-
push!(args, "-I$include_dir")
13+
push!(args, "-I$rocsolver_dir", "-I$rocblas_dir", "-DROCSOLVER_EXPORT")
1414

15-
headers = [
15+
headers_rocsolver = [
1616
joinpath(rocsolver_dir, header)
1717
for header in readdir(rocsolver_dir)
1818
if endswith(header, ".h")
1919
]
2020

21-
ctx = create_context(headers, args, options)
21+
headers_rocblas = [
22+
joinpath(rocblas_dir, header)
23+
for header in readdir(rocblas_dir)
24+
if endswith(header, ".h")
25+
]
26+
27+
ctx = create_context(headers_rocsolver
28+
headers_rocblas, args, options)
2229
build!(ctx, BUILDSTAGE_NO_PRINTING)
2330

2431
# Only keep the wrapped headers because the dependencies are already wrapped with other headers.
2532
replace!(get_nodes(ctx.dag)) do node
2633
path = Clang.get_filename(node.cursor)
27-
should_wrap = any(headers) do header
34+
should_wrap = any(headers_rocsolver) do header
2835
occursin(header, path)
2936
end
3037
if !should_wrap

gen/rocsolver/rocsolver-generator.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
library_name = "librocsolver"
33
output_file_path = "./librocsolver.jl"
44
export_symbol_prefixes = []
5+
print_using_CEnum = false
56

67
[codegen]
78
use_ccall_macro = true

gen/rocsparse/rocsparse-generator.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
library_name = "librocsparse"
33
output_file_path = "./librocsparse.jl"
44
export_symbol_prefixes = []
5+
print_using_CEnum = false
56

67
[codegen]
78
use_ccall_macro = true

src/blas/librocblas.jl

Lines changed: 12980 additions & 4403 deletions
Large diffs are not rendered by default.

src/fft/librocfft.jl

Lines changed: 101 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -67,133 +67,202 @@ end
6767

6868
const rocfft_array_type = rocfft_array_type_e
6969

70+
@cenum rocfft_comm_type_e::UInt32 begin
71+
rocfft_comm_none = 0
72+
rocfft_comm_mpi = 1
73+
end
74+
75+
const rocfft_comm_type = rocfft_comm_type_e
76+
7077
function rocfft_setup()
7178
AMDGPU.prepare_state()
72-
@check ccall((:rocfft_setup, librocfft), rocfft_status, ())
79+
@check @ccall librocfft.rocfft_setup()::rocfft_status
7380
end
7481

7582
function rocfft_cleanup()
7683
AMDGPU.prepare_state()
77-
@check ccall((:rocfft_cleanup, librocfft), rocfft_status, ())
84+
@check @ccall librocfft.rocfft_cleanup()::rocfft_status
7885
end
7986

80-
function rocfft_plan_create(plan, placement, transform_type, precision, dimensions, lengths, number_of_transforms, description)
87+
function rocfft_plan_create(plan, placement, transform_type, precision, dimensions, lengths,
88+
number_of_transforms, description)
8189
AMDGPU.prepare_state()
82-
@check ccall((:rocfft_plan_create, librocfft), rocfft_status, (Ptr{rocfft_plan}, rocfft_result_placement, rocfft_transform_type, rocfft_precision, Csize_t, Ptr{Csize_t}, Csize_t, rocfft_plan_description), plan, placement, transform_type, precision, dimensions, lengths, number_of_transforms, description)
90+
@check @ccall librocfft.rocfft_plan_create(plan::Ptr{rocfft_plan},
91+
placement::rocfft_result_placement,
92+
transform_type::rocfft_transform_type,
93+
precision::rocfft_precision,
94+
dimensions::Csize_t,
95+
lengths::Ptr{Csize_t},
96+
number_of_transforms::Csize_t,
97+
description::rocfft_plan_description)::rocfft_status
8398
end
8499

85100
function rocfft_execute(plan, in_buffer, out_buffer, info)
86101
AMDGPU.prepare_state()
87-
@check ccall((:rocfft_execute, librocfft), rocfft_status, (rocfft_plan, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}, rocfft_execution_info), plan, in_buffer, out_buffer, info)
102+
@check @ccall librocfft.rocfft_execute(plan::rocfft_plan, in_buffer::Ptr{Ptr{Cvoid}},
103+
out_buffer::Ptr{Ptr{Cvoid}},
104+
info::rocfft_execution_info)::rocfft_status
88105
end
89106

90107
function rocfft_plan_destroy(plan)
91108
AMDGPU.prepare_state()
92-
@check ccall((:rocfft_plan_destroy, librocfft), rocfft_status, (rocfft_plan,), plan)
109+
@check @ccall librocfft.rocfft_plan_destroy(plan::rocfft_plan)::rocfft_status
93110
end
94111

95112
function rocfft_plan_description_set_scale_factor(description, scale_factor)
96113
AMDGPU.prepare_state()
97-
@check ccall((:rocfft_plan_description_set_scale_factor, librocfft), rocfft_status, (rocfft_plan_description, Cdouble), description, scale_factor)
114+
@check @ccall librocfft.rocfft_plan_description_set_scale_factor(description::rocfft_plan_description,
115+
scale_factor::Cdouble)::rocfft_status
98116
end
99117

100-
function rocfft_plan_description_set_data_layout(description, in_array_type, out_array_type, in_offsets, out_offsets, in_strides_size, in_strides, in_distance, out_strides_size, out_strides, out_distance)
118+
function rocfft_plan_description_set_data_layout(description, in_array_type, out_array_type,
119+
in_offsets, out_offsets, in_strides_size,
120+
in_strides, in_distance, out_strides_size,
121+
out_strides, out_distance)
101122
AMDGPU.prepare_state()
102-
@check ccall((:rocfft_plan_description_set_data_layout, librocfft), rocfft_status, (rocfft_plan_description, rocfft_array_type, rocfft_array_type, Ptr{Csize_t}, Ptr{Csize_t}, Csize_t, Ptr{Csize_t}, Csize_t, Csize_t, Ptr{Csize_t}, Csize_t), description, in_array_type, out_array_type, in_offsets, out_offsets, in_strides_size, in_strides, in_distance, out_strides_size, out_strides, out_distance)
123+
@check @ccall librocfft.rocfft_plan_description_set_data_layout(description::rocfft_plan_description,
124+
in_array_type::rocfft_array_type,
125+
out_array_type::rocfft_array_type,
126+
in_offsets::Ptr{Csize_t},
127+
out_offsets::Ptr{Csize_t},
128+
in_strides_size::Csize_t,
129+
in_strides::Ptr{Csize_t},
130+
in_distance::Csize_t,
131+
out_strides_size::Csize_t,
132+
out_strides::Ptr{Csize_t},
133+
out_distance::Csize_t)::rocfft_status
103134
end
104135

105136
function rocfft_field_create(field)
106137
AMDGPU.prepare_state()
107-
@check ccall((:rocfft_field_create, librocfft), rocfft_status, (Ptr{rocfft_field},), field)
138+
@check @ccall librocfft.rocfft_field_create(field::Ptr{rocfft_field})::rocfft_status
108139
end
109140

110141
function rocfft_field_destroy(field)
111142
AMDGPU.prepare_state()
112-
@check ccall((:rocfft_field_destroy, librocfft), rocfft_status, (rocfft_field,), field)
143+
@check @ccall librocfft.rocfft_field_destroy(field::rocfft_field)::rocfft_status
113144
end
114145

115146
function rocfft_get_version_string(buf, len)
116147
AMDGPU.prepare_state()
117-
@check ccall((:rocfft_get_version_string, librocfft), rocfft_status, (Ptr{Cchar}, Csize_t), buf, len)
148+
@check @ccall librocfft.rocfft_get_version_string(buf::Ptr{Cchar},
149+
len::Csize_t)::rocfft_status
150+
end
151+
152+
function rocfft_plan_description_set_comm(description, comm_type, comm_handle)
153+
AMDGPU.prepare_state()
154+
@check @ccall librocfft.rocfft_plan_description_set_comm(description::rocfft_plan_description,
155+
comm_type::rocfft_comm_type,
156+
comm_handle::Ptr{Cvoid})::rocfft_status
118157
end
119158

120159
function rocfft_brick_create(brick, field_lower, field_upper, brick_stride, dim, deviceID)
121160
AMDGPU.prepare_state()
122-
@check ccall((:rocfft_brick_create, librocfft), rocfft_status, (Ptr{rocfft_brick}, Ptr{Csize_t}, Ptr{Csize_t}, Ptr{Csize_t}, Csize_t, Cint), brick, field_lower, field_upper, brick_stride, dim, deviceID)
161+
@check @ccall librocfft.rocfft_brick_create(brick::Ptr{rocfft_brick},
162+
field_lower::Ptr{Csize_t},
163+
field_upper::Ptr{Csize_t},
164+
brick_stride::Ptr{Csize_t}, dim::Csize_t,
165+
deviceID::Cint)::rocfft_status
123166
end
124167

125168
function rocfft_brick_destroy(brick)
126169
AMDGPU.prepare_state()
127-
@check ccall((:rocfft_brick_destroy, librocfft), rocfft_status, (rocfft_brick,), brick)
170+
@check @ccall librocfft.rocfft_brick_destroy(brick::rocfft_brick)::rocfft_status
128171
end
129172

130173
function rocfft_field_add_brick(field, brick)
131174
AMDGPU.prepare_state()
132-
@check ccall((:rocfft_field_add_brick, librocfft), rocfft_status, (rocfft_field, rocfft_brick), field, brick)
175+
@check @ccall librocfft.rocfft_field_add_brick(field::rocfft_field,
176+
brick::rocfft_brick)::rocfft_status
133177
end
134178

135179
function rocfft_plan_description_add_infield(description, field)
136180
AMDGPU.prepare_state()
137-
@check ccall((:rocfft_plan_description_add_infield, librocfft), rocfft_status, (rocfft_plan_description, rocfft_field), description, field)
181+
@check @ccall librocfft.rocfft_plan_description_add_infield(description::rocfft_plan_description,
182+
field::rocfft_field)::rocfft_status
138183
end
139184

140185
function rocfft_plan_description_add_outfield(description, field)
141186
AMDGPU.prepare_state()
142-
@check ccall((:rocfft_plan_description_add_outfield, librocfft), rocfft_status, (rocfft_plan_description, rocfft_field), description, field)
187+
@check @ccall librocfft.rocfft_plan_description_add_outfield(description::rocfft_plan_description,
188+
field::rocfft_field)::rocfft_status
143189
end
144190

145191
function rocfft_plan_get_work_buffer_size(plan, size_in_bytes)
146192
AMDGPU.prepare_state()
147-
@check ccall((:rocfft_plan_get_work_buffer_size, librocfft), rocfft_status, (rocfft_plan, Ptr{Csize_t}), plan, size_in_bytes)
193+
@check @ccall librocfft.rocfft_plan_get_work_buffer_size(plan::rocfft_plan,
194+
size_in_bytes::Ptr{Csize_t})::rocfft_status
148195
end
149196

150197
function rocfft_plan_get_print(plan)
151198
AMDGPU.prepare_state()
152-
@check ccall((:rocfft_plan_get_print, librocfft), rocfft_status, (rocfft_plan,), plan)
199+
@check @ccall librocfft.rocfft_plan_get_print(plan::rocfft_plan)::rocfft_status
153200
end
154201

155202
function rocfft_plan_description_create(description)
156203
AMDGPU.prepare_state()
157-
@check ccall((:rocfft_plan_description_create, librocfft), rocfft_status, (Ptr{rocfft_plan_description},), description)
204+
@check @ccall librocfft.rocfft_plan_description_create(description::Ptr{rocfft_plan_description})::rocfft_status
158205
end
159206

160207
function rocfft_plan_description_destroy(description)
161208
AMDGPU.prepare_state()
162-
@check ccall((:rocfft_plan_description_destroy, librocfft), rocfft_status, (rocfft_plan_description,), description)
209+
@check @ccall librocfft.rocfft_plan_description_destroy(description::rocfft_plan_description)::rocfft_status
163210
end
164211

165212
function rocfft_execution_info_create(info)
166213
AMDGPU.prepare_state()
167-
@check ccall((:rocfft_execution_info_create, librocfft), rocfft_status, (Ptr{rocfft_execution_info},), info)
214+
@check @ccall librocfft.rocfft_execution_info_create(info::Ptr{rocfft_execution_info})::rocfft_status
168215
end
169216

170217
function rocfft_execution_info_destroy(info)
171218
AMDGPU.prepare_state()
172-
@check ccall((:rocfft_execution_info_destroy, librocfft), rocfft_status, (rocfft_execution_info,), info)
219+
@check @ccall librocfft.rocfft_execution_info_destroy(info::rocfft_execution_info)::rocfft_status
173220
end
174221

175222
function rocfft_execution_info_set_work_buffer(info, work_buffer, size_in_bytes)
176223
AMDGPU.prepare_state()
177-
@check ccall((:rocfft_execution_info_set_work_buffer, librocfft), rocfft_status, (rocfft_execution_info, Ptr{Cvoid}, Csize_t), info, work_buffer, size_in_bytes)
224+
@check @ccall librocfft.rocfft_execution_info_set_work_buffer(info::rocfft_execution_info,
225+
work_buffer::Ptr{Cvoid},
226+
size_in_bytes::Csize_t)::rocfft_status
178227
end
179228

180229
function rocfft_execution_info_set_stream(info, stream)
181230
AMDGPU.prepare_state()
182-
@check ccall((:rocfft_execution_info_set_stream, librocfft), rocfft_status, (rocfft_execution_info, Ptr{Cvoid}), info, stream)
231+
@check @ccall librocfft.rocfft_execution_info_set_stream(info::rocfft_execution_info,
232+
stream::Ptr{Cvoid})::rocfft_status
183233
end
184234

185-
function rocfft_execution_info_set_load_callback(info, cb_functions, cb_data, shared_mem_bytes)
235+
function rocfft_execution_info_set_load_callback(info, cb_functions, cb_data,
236+
shared_mem_bytes)
186237
AMDGPU.prepare_state()
187-
@check ccall((:rocfft_execution_info_set_load_callback, librocfft), rocfft_status, (rocfft_execution_info, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}, Csize_t), info, cb_functions, cb_data, shared_mem_bytes)
238+
@check @ccall librocfft.rocfft_execution_info_set_load_callback(info::rocfft_execution_info,
239+
cb_functions::Ptr{Ptr{Cvoid}},
240+
cb_data::Ptr{Ptr{Cvoid}},
241+
shared_mem_bytes::Csize_t)::rocfft_status
188242
end
189243

190-
function rocfft_execution_info_set_store_callback(info, cb_functions, cb_data, shared_mem_bytes)
244+
function rocfft_execution_info_set_store_callback(info, cb_functions, cb_data,
245+
shared_mem_bytes)
191246
AMDGPU.prepare_state()
192-
@check ccall((:rocfft_execution_info_set_store_callback, librocfft), rocfft_status, (rocfft_execution_info, Ptr{Ptr{Cvoid}}, Ptr{Ptr{Cvoid}}, Csize_t), info, cb_functions, cb_data, shared_mem_bytes)
247+
@check @ccall librocfft.rocfft_execution_info_set_store_callback(info::rocfft_execution_info,
248+
cb_functions::Ptr{Ptr{Cvoid}},
249+
cb_data::Ptr{Ptr{Cvoid}},
250+
shared_mem_bytes::Csize_t)::rocfft_status
193251
end
194252

195-
const rocfft_version_major = 1
253+
function rocfft_cache_serialize(buffer, buffer_len_bytes)
254+
AMDGPU.prepare_state()
255+
@check @ccall librocfft.rocfft_cache_serialize(buffer::Ptr{Ptr{Cvoid}},
256+
buffer_len_bytes::Ptr{Csize_t})::rocfft_status
257+
end
196258

197-
const rocfft_version_minor = 0
259+
function rocfft_cache_buffer_free(buffer)
260+
AMDGPU.prepare_state()
261+
@check @ccall librocfft.rocfft_cache_buffer_free(buffer::Ptr{Cvoid})::rocfft_status
262+
end
198263

199-
const rocfft_version_patch = 27
264+
function rocfft_cache_deserialize(buffer, buffer_len_bytes)
265+
AMDGPU.prepare_state()
266+
@check @ccall librocfft.rocfft_cache_deserialize(buffer::Ptr{Cvoid},
267+
buffer_len_bytes::Csize_t)::rocfft_status
268+
end

src/fft/rocFFT.jl

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,15 @@ include("util.jl")
2323
include("wrappers.jl")
2424
include("fft.jl")
2525

26-
version() = VersionNumber(
27-
rocfft_version_major, rocfft_version_minor, rocfft_version_patch)
26+
function rocfft_get_version_string()
27+
vec = zeros(UInt8, 64)
28+
rocfft_get_version_string(vec, 64)
29+
return unsafe_string(reinterpret(Cstring, pointer(vec)))
30+
end
31+
32+
function version()
33+
VersionNumber(join(split(rocfft_get_version_string(), '.')[1:3], '.'))
34+
end
2835

2936
const INITIALIZED = Threads.Atomic{Int64}(0)
3037

0 commit comments

Comments
 (0)