Skip to content

Commit 66456bb

Browse files
committed
Update
[ghstack-poisoned]
2 parents 7ed33ce + fc5c6e6 commit 66456bb

12 files changed

Lines changed: 146 additions & 62 deletions

File tree

backends/webgpu/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ target_include_directories(
5555
target_link_libraries(webgpu_backend PRIVATE vulkan_schema executorch_core)
5656

5757
# Native WebGPU backend: Dawn (Tint) + SwiftShader; deps script sets Dawn_DIR.
58+
# Native-only: browser/Emscripten builds use the system webgpu.h and never
59+
# reach this find_package (root CMake gates it via EXECUTORCH_BUILD_WEBGPU).
5860
# dawn::webgpu_dawn's link interface references Threads::Threads.
5961
find_package(Threads REQUIRED)
6062
find_package(Dawn REQUIRED)

backends/webgpu/runtime/WebGPUDevice.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
* LICENSE file in the root directory of this source tree.
77
*/
88

9+
#include <executorch/backends/webgpu/runtime/WebGPUCompat.h>
910
#include <executorch/backends/webgpu/runtime/WebGPUDevice.h>
1011

1112
#include <cstdio>
@@ -112,7 +113,7 @@ WebGPUContext create_webgpu_context() {
112113
adapter_opts.forceFallbackAdapter = false;
113114
wgpuInstanceRequestAdapter(ctx.instance, &adapter_opts, adapter_cb);
114115
while (!adapter_result.done) {
115-
wgpuInstanceProcessEvents(ctx.instance);
116+
webgpu_poll(ctx.instance);
116117
}
117118

118119
if (!adapter_result.adapter) {
@@ -142,7 +143,7 @@ WebGPUContext create_webgpu_context() {
142143

143144
wgpuAdapterRequestDevice(ctx.adapter, &device_desc, device_cb);
144145
while (!device_result.done) {
145-
wgpuInstanceProcessEvents(ctx.instance);
146+
webgpu_poll(ctx.instance);
146147
}
147148

148149
if (!device_result.device) {

examples/qualcomm/oss_scripts/llama/runner/attention_sink_rope_runner.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Error AttentionSinkRopeRunner::load(
4040
for (const std::string& method_name : method_names) {
4141
ET_CHECK_OK_OR_RETURN_ERROR(module_->load_method(method_name));
4242
}
43-
ET_UNWRAP(
43+
ET_ASSIGN_OR_RETURN(
4444
eviction_batch_size_evalue__, module_->get("get_eviction_batch_size"));
4545
eviction_batch_size_ = eviction_batch_size_evalue__.toScalar().to<int64_t>();
4646
return Error::Ok;

examples/qualcomm/oss_scripts/llama/runner/lhd_token_generator.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ Result<int64_t> LhdTokenGenerator::generate(
347347
shifted_pos++;
348348

349349
// print the token as string, decode it with the Tokenizer object
350-
ET_UNWRAP_TOKENIZER(
350+
ET_ASSIGN_OR_RETURN_TOKENIZER(
351351
decoded_token__, this->tokenizer_->decode(prev_token, cur_token));
352352
token_callback(decoded_token__);
353353

examples/qualcomm/oss_scripts/llama/runner/multimodal_runner/multimodal_lhd_token_generator.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ Result<int64_t> MultimodalLhdTokenGenerator::generate(
332332
pos++;
333333

334334
// print the token as string, decode it with the Tokenizer object
335-
ET_UNWRAP_TOKENIZER(
335+
ET_ASSIGN_OR_RETURN_TOKENIZER(
336336
decoded_token__, this->tokenizer_->decode(prev_token, cur_token));
337337
token_callback(decoded_token__);
338338

examples/qualcomm/oss_scripts/llama/runner/multimodal_runner/multimodal_runner.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ Error QNNMultimodalRunner::load() {
223223

224224
ET_LOG(Info, "Reading metadata from model");
225225
// retrieve any method meta, can be either prefill or kv
226-
ET_UNWRAP(num_layers_evalue__, text_decoder_->get("get_n_layers"));
226+
ET_ASSIGN_OR_RETURN(num_layers_evalue__, text_decoder_->get("get_n_layers"));
227227
int64_t num_layers = num_layers_evalue__.toScalar().to<int64_t>();
228228

229229
ET_CHECK_MSG(num_layers != -1, "Could not retrieve num layers");
@@ -292,7 +292,7 @@ Error QNNMultimodalRunner::load() {
292292
// attention
293293
int32_t sliding_window = context_len_;
294294
if (text_decoder_->method_names()->count("get_sliding_window") > 0) {
295-
ET_UNWRAP(
295+
ET_ASSIGN_OR_RETURN(
296296
sliding_window_evalue__, text_decoder_->get("get_sliding_window"));
297297
sliding_window = sliding_window_evalue__.toInt();
298298
}
@@ -528,7 +528,7 @@ executorch::runtime::Error QNNMultimodalRunner::generate(
528528
// print the first token from prefill. No prev_token so use cur_token for
529529
// it.
530530
if (token_callback) {
531-
ET_UNWRAP_TOKENIZER(
531+
ET_ASSIGN_OR_RETURN_TOKENIZER(
532532
decoded_token__, tokenizer_->decode(cur_token, cur_token));
533533
token_callback(decoded_token__);
534534
}
@@ -540,7 +540,7 @@ executorch::runtime::Error QNNMultimodalRunner::generate(
540540
// start the main loop
541541
prompt_tokens.push_back(cur_token);
542542

543-
ET_UNWRAP(
543+
ET_ASSIGN_OR_RETURN(
544544
num_generated_tokens,
545545
token_generator_->generate(
546546
prompt_tokens,

examples/qualcomm/oss_scripts/llama/runner/runner.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ Error Runner::load() {
227227

228228
ET_LOG(Info, "Reading metadata from model");
229229
// retrieve any method meta, can be either prefill or kv
230-
ET_UNWRAP(num_layers_evalue__, module_->get("get_n_layers"));
230+
ET_ASSIGN_OR_RETURN(num_layers_evalue__, module_->get("get_n_layers"));
231231
int64_t num_layers = num_layers_evalue__.toScalar().to<int64_t>();
232232

233233
ET_CHECK_MSG(num_layers != -1, "Could not retrieve num layers");
@@ -270,7 +270,8 @@ Error Runner::load() {
270270
// attention
271271
int32_t sliding_window = context_len_;
272272
if (module_->method_names()->count("get_sliding_window") > 0) {
273-
ET_UNWRAP(sliding_window_evalue__, module_->get("get_sliding_window"));
273+
ET_ASSIGN_OR_RETURN(
274+
sliding_window_evalue__, module_->get("get_sliding_window"));
274275
sliding_window = sliding_window_evalue__.toInt();
275276
}
276277
kv_manager_ = std::make_unique<KVManager>(
@@ -462,7 +463,7 @@ Error Runner::generate_from_prompt_or_file(
462463
// print the first token from prefill. No prev_token so use cur_token for
463464
// it.
464465
if (token_callback) {
465-
ET_UNWRAP_TOKENIZER(
466+
ET_ASSIGN_OR_RETURN_TOKENIZER(
466467
decoded_token__, tokenizer_->decode(cur_token, cur_token));
467468
token_callback(decoded_token__);
468469
}
@@ -473,7 +474,7 @@ Error Runner::generate_from_prompt_or_file(
473474

474475
// start the main loop
475476
prompt_tokens.push_back(cur_token);
476-
ET_UNWRAP(
477+
ET_ASSIGN_OR_RETURN(
477478
num_generated_tokens,
478479
token_generator_->generate(
479480
prompt_tokens,

examples/qualcomm/oss_scripts/llama/runner/token_generator.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ Result<int64_t> TokenGenerator::generate(
337337
pos++;
338338

339339
// print the token as string, decode it with the Tokenizer object
340-
ET_UNWRAP_TOKENIZER(
340+
ET_ASSIGN_OR_RETURN_TOKENIZER(
341341
decoded_token__, tokenizer_->decode(prev_token, cur_token));
342342
token_callback(decoded_token__);
343343

examples/qualcomm/oss_scripts/t5/runner/runner.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ Error Runner::generate(
180180
output_token_ids.push_back(cur_token);
181181

182182
if (token_callback) {
183-
ET_UNWRAP_TOKENIZER(
183+
ET_ASSIGN_OR_RETURN_TOKENIZER(
184184
decoded_token__, tokenizer_->decode(prev_token, cur_token));
185185
token_callback(decoded_token__);
186186
}

examples/qualcomm/oss_scripts/whisper/runner/runner.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ Error Runner::transcribe(
171171
++pos;
172172

173173
if (token_callback) {
174-
ET_UNWRAP_TOKENIZER(
174+
ET_ASSIGN_OR_RETURN_TOKENIZER(
175175
decoded_token__, tokenizer_->decode(prev_token, cur_token));
176176
token_callback(decoded_token__);
177177
}

0 commit comments

Comments
 (0)