@@ -924,27 +924,24 @@ static ggml_backend_opencl_context * ggml_cl2_init(ggml_backend_dev_t dev) {
924
924
// TODO: fixme: these sizes are hardcoded for now.
925
925
// they should be allocated based on the model's size
926
926
// and the device's max alloc size
927
- size_t max_alloc_size;
928
- CL_CHECK (clGetDeviceInfo (device, CL_DEVICE_MAX_MEM_ALLOC_SIZE, sizeof (size_t ), &max_alloc_size, NULL ));
929
-
930
927
// Allocate intermediate buffers and images
931
928
size_t required_A_q_d_bytes = 311164928 ;
932
929
size_t required_A_s_d_bytes = 38895616 ;
933
930
size_t required_B_d_bytes = 45088768 ;
934
931
935
932
// Ensure buffer sizes do not exceed the maximum allocation size
936
- size_t max_A_q_d_bytes = MIN (required_A_q_d_bytes, max_alloc_size);
937
- size_t max_A_s_d_bytes = MIN (required_A_s_d_bytes, max_alloc_size);
938
- size_t max_B_d_bytes = MIN (required_B_d_bytes, max_alloc_size);
939
- if (required_A_q_d_bytes > max_alloc_size) {
933
+ size_t max_A_q_d_bytes = MIN (required_A_q_d_bytes, backend_ctx-> max_alloc_size );
934
+ size_t max_A_s_d_bytes = MIN (required_A_s_d_bytes, backend_ctx-> max_alloc_size );
935
+ size_t max_B_d_bytes = MIN (required_B_d_bytes, backend_ctx-> max_alloc_size );
936
+ if (required_A_q_d_bytes > backend_ctx-> max_alloc_size ) {
940
937
GGML_LOG_WARN (" ggml_opencl: A_q_d buffer size reduced from %zu to %zu due to device limitations.\n " ,
941
938
required_A_q_d_bytes, max_A_q_d_bytes);
942
939
}
943
- if (required_A_s_d_bytes > max_alloc_size) {
940
+ if (required_A_s_d_bytes > backend_ctx-> max_alloc_size ) {
944
941
GGML_LOG_WARN (" ggml_opencl: A_s_d buffer size reduced from %zu to %zu due to device limitations.\n " ,
945
942
required_A_s_d_bytes, max_A_s_d_bytes);
946
943
}
947
- if (required_B_d_bytes > max_alloc_size) {
944
+ if (required_B_d_bytes > backend_ctx-> max_alloc_size ) {
948
945
GGML_LOG_WARN (" ggml_opencl: B_d buffer size reduced from %zu to %zu due to device limitations.\n " ,
949
946
required_B_d_bytes, max_B_d_bytes);
950
947
}
0 commit comments