| 28 | } |
| 29 | |
| 30 | void validate_weight_storage(engine::assets::TensorStorageType storage_type, const char * option_name) { |
| 31 | if (storage_type == engine::assets::TensorStorageType::Native || |
| 32 | storage_type == engine::assets::TensorStorageType::F32 || |
| 33 | storage_type == engine::assets::TensorStorageType::F16 || |
| 34 | storage_type == engine::assets::TensorStorageType::BF16 || |
| 35 | storage_type == engine::assets::TensorStorageType::Q8_0) { |
| 36 | return; |
| 37 | } |
| 38 | throw std::runtime_error(std::string(option_name) + " supports only native, f32, f16, bf16, and q8_0"); |
| 39 | } |
| 40 | |
| 41 | bool all_durations_match(const std::vector<float> & durations) { |
| 42 | if (durations.empty()) { |
no test coverage detected