llama.cpp/docs/code_documentation/documentation/ggml-cuda.cu.adoc

48 lines
2.1 KiB
Plaintext

[[docs:funcstructs:ggml-cuda.cu]]
== ggml-cuda.cu
[[docs:funcstructs:ggml-cuda.cu:variable-ggml_backend_cuda_interface]]
=== variable ggml_backend_cuda_interface
Full declaration:
[.codebit]#`static const ggml_backend_i ggml_backend_cuda_interface`#
Sets the members of [.codebit]#`ggml_backend_i`# to cuda-specific functions, with the exception of [.codebit]#`graph_plan_create`#, [.codebit]#`graph_plan_free`#, [.codebit]#`graph_plan_update`# and [.codebit]#`graph_plan_compute`#. Notably, [.codebit]#`graph_compute`# is set to point to [.codebit]#`ggml_backend_cuda_graph_compute(...)`#
[[docs:funcstructs:ggml-cuda.cu:ggml_backend_cuda_device_init_backend]]
=== ggml_backend_cuda_device_init_backend
Signature:
[.codebit]#`static ggml_backend_t ggml_backend_cuda_device_init_backend(ggml_backend_dev_t dev, const char * params)`#
Deffers to [.codebit]#`ggml_backend_cuda_init(...)`#, calling it with the device's index (taken from [.codebit]#`+dev->context+`#).
[[docs:funcstructs:ggml-cuda.cu:variable-ggml_backend_cuda_device_interface]]
=== variable ggml_backend_cuda_device_interface
Full declaration:
[.codebit]#`static const ggml_backend_device_i ggml_backend_cuda_device_interface`#
This sets all the members of [.codebit]#`ggml_backend_device_i`#, with the exception of [.codebit]#`buffer_from_host_ptr`#, to cuda specific functions. The [.codebit]#`init_backend`# member points to [.codebit]#`ggml_backend_cuda_device_init_backend(...)`#.
[[docs:funcstructs:ggml-cuda.cu:ggml_backend_cuda_reg]]
=== ggml_backend_cuda_reg
Signature:
[.codebit]#`ggml_backend_reg_t ggml_backend_cuda_reg()`#
Thread safely initializes and returns the cuda backend registry in a singleton-like manner. This is were the [.codebit]##`ggml_backend_device`##s for cuda are created. Their interface is set to [.codebit]#`ggml_backend_cuda_device_interface`#.
[[docs:funcstructs:ggml-cuda.cu:ggml_backend_cuda_init]]
=== ggml_backend_cuda_init
Signature:
[.codebit]#`ggml_backend_t ggml_backend_cuda_init(int device)`#
Initializes a cuda-specific [.codebit]#`ggml_backend`#. Its [.codebit]#`interface`# member is set to [.codebit]#`ggml_backend_cuda_interface`#.