mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	ggml : add bilinear upscale support (ggml/1185)
This commit is contained in:
		 Diego Devesa
					Diego Devesa
				
			
				
					committed by
					
						 Georgi Gerganov
						Georgi Gerganov
					
				
			
			
				
	
			
			
			 Georgi Gerganov
						Georgi Gerganov
					
				
			
						parent
						
							459895c326
						
					
				
				
					commit
					fe92821ea9
				
			| @@ -5749,7 +5749,7 @@ static vk_pipeline ggml_vk_op_get_pipeline(ggml_backend_vk_context * ctx, const | ||||
|         } | ||||
|         return nullptr; | ||||
|     case GGML_OP_UPSCALE: | ||||
|         if (src0->type == GGML_TYPE_F32 && dst->type == GGML_TYPE_F32) { | ||||
|         if (src0->type == GGML_TYPE_F32 && dst->type == GGML_TYPE_F32 && dst->op_params[0] == GGML_SCALE_MODE_NEAREST) { | ||||
|             return ctx->device->pipeline_upscale_f32; | ||||
|         } | ||||
|         return nullptr; | ||||
| @@ -9404,9 +9404,10 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm | ||||
|         case GGML_OP_COS: | ||||
|         case GGML_OP_CLAMP: | ||||
|             return op->src[0]->type == GGML_TYPE_F32; | ||||
|         case GGML_OP_UPSCALE: | ||||
|             return op->op_params[0] == GGML_SCALE_MODE_NEAREST; | ||||
|         case GGML_OP_ACC: | ||||
|         case GGML_OP_CONCAT: | ||||
|         case GGML_OP_UPSCALE: | ||||
|         case GGML_OP_SCALE: | ||||
|         case GGML_OP_PAD: | ||||
|         case GGML_OP_DIAG_MASK_INF: | ||||
| @@ -9774,7 +9775,7 @@ static void ggml_vk_check_results_0(ggml_tensor * tensor) { | ||||
|     } else if (tensor->op == GGML_OP_CONCAT) { | ||||
|         tensor_clone = ggml_concat(ggml_ctx, src_clone[0], src_clone[1], *(int *)tensor->op_params); | ||||
|     } else if (tensor->op == GGML_OP_UPSCALE) { | ||||
|         tensor_clone = ggml_upscale_ext(ggml_ctx, src_clone[0], tensor->ne[0], tensor->ne[1], tensor->ne[2], tensor->ne[3]); | ||||
|         tensor_clone = ggml_upscale_ext(ggml_ctx, src_clone[0], tensor->ne[0], tensor->ne[1], tensor->ne[2], tensor->ne[3], tensor->op_params[0], tensor->op_params[1], (ggml_scale_mode) tensor->op_params[0]); | ||||
|     } else if (tensor->op == GGML_OP_SCALE) { | ||||
|         const float * params = (const float *)tensor->op_params; | ||||
|         tensor_clone = ggml_scale(ggml_ctx, src_clone[0], params[0]); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user