10
10
#include " llama.h"
11
11
12
12
#include " ggml.h"
13
- #ifdef GGML_USE_CUBLAS
13
+ #if defined GGML_USE_CUBLAS || defined GGML_USE_HIPBLAS
14
14
#include " ggml-cuda.h"
15
15
#elif defined(GGML_USE_CLBLAST)
16
16
#include " ggml-opencl.h"
@@ -175,7 +175,7 @@ struct llama_kv_cache {
175
175
ggml_free (ctx);
176
176
}
177
177
178
- #ifdef GGML_USE_CUBLAS
178
+ #if defined GGML_USE_CUBLAS || defined GGML_USE_HIPBLAS
179
179
ggml_cuda_free_data (k);
180
180
ggml_cuda_free_data (v);
181
181
#endif // GGML_USE_CUBLAS
@@ -220,7 +220,7 @@ struct llama_model {
220
220
ggml_free (ctx);
221
221
}
222
222
223
- #ifdef GGML_USE_CUBLAS
223
+ #if defined GGML_USE_CUBLAS || defined GGML_USE_HIPBLAS
224
224
for (size_t i = 0 ; i < tensors_by_name.size (); ++i) {
225
225
ggml_cuda_free_data (tensors_by_name[i].second );
226
226
}
@@ -791,7 +791,7 @@ struct llama_model_loader {
791
791
lmlock->grow_to (lock_size);
792
792
}
793
793
break ;
794
- #if defined(GGML_USE_CUBLAS)
794
+ #if defined(GGML_USE_CUBLAS) || defined(GGML_USE_HIPBLAS)
795
795
case GGML_BACKEND_GPU:
796
796
case GGML_BACKEND_GPU_SPLIT:
797
797
ggml_cuda_transform_tensor (lt.data , lt.ggml_tensor );
@@ -911,7 +911,7 @@ static bool kv_cache_init(
911
911
ggml_set_name (cache.v , " cache_v" );
912
912
913
913
(void ) n_gpu_layers;
914
- #ifdef GGML_USE_CUBLAS
914
+ #if defined GGML_USE_CUBLAS || defined GGML_USE_HIPBLAS
915
915
if (n_gpu_layers > n_layer + 1 ) {
916
916
ggml_cuda_assign_buffers_no_scratch (cache.v );
917
917
}
@@ -1141,7 +1141,7 @@ static void llama_model_load_internal(
1141
1141
}
1142
1142
1143
1143
(void ) main_gpu;
1144
- #if defined(GGML_USE_CUBLAS)
1144
+ #if defined(GGML_USE_CUBLAS) || defined(GGML_USE_HIPBLAS)
1145
1145
fprintf (stderr, " %s: using CUDA for GPU acceleration\n " , __func__);
1146
1146
ggml_cuda_set_main_device (main_gpu);
1147
1147
#define LLAMA_BACKEND_OFFLOAD GGML_BACKEND_GPU
@@ -1252,7 +1252,7 @@ static void llama_model_load_internal(
1252
1252
1253
1253
(void ) vram_scratch;
1254
1254
(void ) n_batch;
1255
- #ifdef GGML_USE_CUBLAS
1255
+ #if defined GGML_USE_CUBLAS || defined GGML_USE_HIPBLAS
1256
1256
if (low_vram) {
1257
1257
fprintf (stderr, " %s: not allocating a VRAM scratch buffer due to low VRAM option\n " , __func__);
1258
1258
ggml_cuda_set_scratch_size (0 ); // disable scratch
@@ -1265,7 +1265,7 @@ static void llama_model_load_internal(
1265
1265
}
1266
1266
}
1267
1267
#endif // GGML_USE_CUBLAS
1268
- #if defined(GGML_USE_CUBLAS) || defined(GGML_USE_CLBLAST)
1268
+ #if defined(GGML_USE_CUBLAS) || defined(GGML_USE_HIPBLAS) || defined( GGML_USE_CLBLAST)
1269
1269
const int n_gpu = std::min (n_gpu_layers, int (hparams.n_layer ));
1270
1270
1271
1271
fprintf (stderr, " %s: offloading %d repeating layers to GPU\n " , __func__, n_gpu);
@@ -1305,7 +1305,7 @@ static void llama_model_load_internal(
1305
1305
}
1306
1306
1307
1307
(void ) tensor_split;
1308
- #if defined(GGML_USE_CUBLAS)
1308
+ #if defined(GGML_USE_CUBLAS) || defined(GGML_USE_HIPBLAS)
1309
1309
{
1310
1310
ggml_cuda_set_tensor_split (tensor_split);
1311
1311
}
@@ -1425,7 +1425,7 @@ static bool llama_eval_internal(
1425
1425
offload_func_t offload_func_kq = llama_nop;
1426
1426
offload_func_t offload_func_v = llama_nop;
1427
1427
1428
- #ifdef GGML_USE_CUBLAS
1428
+ #if defined GGML_USE_CUBLAS || defined GGML_USE_HIPBLAS
1429
1429
if (n_gpu_layers > n_layer) {
1430
1430
offload_func_nr = ggml_cuda_assign_buffers;
1431
1431
}
@@ -1440,7 +1440,7 @@ static bool llama_eval_internal(
1440
1440
for (int il = 0 ; il < n_layer; ++il) {
1441
1441
offload_func_t offload_func = llama_nop;
1442
1442
1443
- #ifdef GGML_USE_CUBLAS
1443
+ #if defined GGML_USE_CUBLAS || defined GGML_USE_HIPBLAS
1444
1444
if (il >= i_gpu_start) {
1445
1445
offload_func = ggml_cuda_assign_buffers;
1446
1446
}
0 commit comments