| CARVIEW |
Select Language
HTTP/2 200
date: Mon, 29 Dec 2025 16:50:00 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"92412bcafa4227b75d57523b67f5cc11"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=uvJfvB5Bg%2BigxLe0RF9sUWWnoWNAnKLrq1ZB%2BHaasqQBlNq80gyTHwZSWZe1Un9XINQRykyzVVREJa3uJJiHXBaIsaP0EN8wokkPHUyfrky5FImYPS8NLbwMzGbJNVVHSJbjDpkF1%2B6mPVoxx0ef9QwUYlytMisKUH44WnGkN%2Blyrz7IK6D5%2FLTDBv4QKdZH9JpuUWa7HSP7zhlFc6v6E8KImQi3GKSPxWMiYbDHhjCHVfqTDbKy8GlWm0DjP4zl%2FO%2BjiWwYgV%2B0r4Hx%2B5K5Mg%3D%3D--mTwefs6Z%2BWdCul3X--r70DpUpSfpceevg5jj1rMw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1802897128.1767027000; Path=/; Domain=github.com; Expires=Tue, 29 Dec 2026 16:50:00 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 29 Dec 2026 16:50:00 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 977A:21D903:652B10D:79095F7:6952B138
Releases Β· dianlight/gollama.cpp Β· GitHub
Loading
Loading
Loading
Loading
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 3
Releases: dianlight/gollama.cpp
Releases Β· dianlight/gollama.cpp
Release v0.2.2-llamacpp.b6862
[v0.2.2-llamacpp.b6862] - 2025-11-08
Added
- GGML Low-Level Bindings (
goggml.go): Direct access to GGML tensor library functions- 31 GGML type definitions (F32, F16, Q4_0, Q8_0, BF16, IQ2_XXS, IQ4_XS, etc.)
- Backend device enumeration and management functions
- Buffer allocation and memory management
- Type utility functions (size, quantization checks, name lookups)
- Quantization helper functions
- Graceful handling of optional GGML functions (may not be exported in all builds)
- Helper function
tryRegisterLibFunc()for optional function registration - Comprehensive test suite (
goggml_test.go) with type tests, backend tests, and benchmarks
- Comprehensive GGML Backend API synchronized with
ggml-backend.h:- Backend Device Functions (8 new):
ggml_backend_dev_by_name,ggml_backend_dev_type,ggml_backend_dev_get_props,ggml_backend_dev_backend_reg,ggml_backend_dev_buffer_from_host_ptr,ggml_backend_dev_supports_op,ggml_backend_dev_supports_buft,ggml_backend_dev_offload_op - Backend Registry Functions (9 new):
ggml_backend_reg_name,ggml_backend_reg_dev_count,ggml_backend_reg_dev_get,ggml_backend_reg_get_proc_address,ggml_backend_register,ggml_backend_device_register,ggml_backend_reg_count,ggml_backend_reg_get,ggml_backend_reg_by_name - Backend Buffer Type Functions (4 new):
ggml_backend_buft_get_alignment,ggml_backend_buft_get_max_size,ggml_backend_buft_get_alloc_size,ggml_backend_buft_get_device - Backend Buffer Functions (6 new):
ggml_backend_buffer_init_tensor,ggml_backend_buffer_get_alignment,ggml_backend_buffer_get_max_size,ggml_backend_buffer_get_alloc_size,ggml_backend_buffer_get_usage,ggml_backend_buffer_reset - Backend Functions (6 new):
ggml_backend_guid,ggml_backend_get_default_buffer_type,ggml_backend_alloc_buffer,ggml_backend_get_alignment,ggml_backend_get_max_size,ggml_backend_get_device - New Types:
GgmlGuid(16-byte backend identifier),GgmlBackendDevCaps(device capabilities),GgmlBackendDevProps(device properties) - Device Type Constants:
GGML_BACKEND_DEVICE_TYPE_CPU,GGML_BACKEND_DEVICE_TYPE_GPU,GGML_BACKEND_DEVICE_TYPE_IGPU,GGML_BACKEND_DEVICE_TYPE_ACCEL
- Backend Device Functions (8 new):
Changed
Fixed
- GGML Backend Signatures: Fixed
Ggml_backend_load()to accept only one parameter (path) instead of two, matching the actual GGML C API. Function now returnsGgmlBackendReginstead ofGgmlBackend. - Function Parameter Validation: Verified all ~50 GGML backend function signatures against official
ggml-backend.hto ensure correct parameter types and counts.
Removed
Assets 2
Release v0.2.1-llamacpp.b6862
[v0.2.1-llamacpp.b6862] - 2025-11-02
Added
- Windows Function Registration: Implemented proper
registerLibFuncfor Windows usingGetProcAddressto resolve function addresses from loaded DLLs. This enables cross-platform struct parameter/return support on Windows through libffi. - libffi Support: Cross-platform struct handling for C function calls on all platforms (Windows, Linux, macOS)
- Added
github.com/jupiterrider/ffi v0.5.1dependency for FFI support - Implemented FFI wrapper layer (
ffi.go) with 10 wrapper functions for struct-based operations - Added
Encode()andSampler_chain_init()public wrapper functions - Platform-agnostic GetProcAddress helper for symbol resolution
- Added
- Embedded Library Packaging:
go:embedsupport for pre-built llama.cpp binaries across all platforms- New
make populate-libstarget and-copy-libsCLI flag to sync the./libsdirectory - Runtime prefers embedded libraries when requesting the bundled llama.cpp build
- Release workflow auto-populates and commits the embedded library bundle
- New
Changed
- llama.cpp Version: Updated from b6099 to b6862
- Updated Makefile, CI workflows, and all documentation
- Improved compatibility with latest llama.cpp features
- Deprecated KV cache functions (removed from b6862 API):
llama_kv_cache_clear,llama_kv_cache_seq_*,llama_kv_cache_defrag,llama_kv_cache_update - Removed non-existent functions:
llama_sampler_init_softmax
- CI/CD Improvements:
- Added automatic library download step before running tests
- Configured platform-specific library paths (LD_LIBRARY_PATH, DYLD_LIBRARY_PATH, PATH)
- Updated GO_VERSION to 1.25
- Windows Support: Enabled full runtime support with FFI (previously build-only)
- Test Behavior: FFI tests now fail instead of skip when library is unavailable
Fixed
- Windows DLL loading: Improve reliability by adding the library directory to the DLL search path and preferring
LoadLibraryExWwith safe search flags. This resolves "The specified module could not be found" when loading embeddedllama.dllon CI.
Removed
Assets 2
Release v0.2.0-llamacpp.b6099
[v0.2.0-llamacpp.b6099] - 2025-08-06
π Major GPU Backend Enhancements
This release significantly expands GPU support with three new GPU backends and comprehensive detection systems:
- π₯ Vulkan Support: Cross-platform GPU acceleration for NVIDIA, AMD, and Intel GPUs
- β‘ OpenCL Support: Broad compatibility including Qualcomm Adreno GPUs on ARM64 devices
- π§ SYCL Support: Intel oneAPI unified parallel programming for CPUs and GPUs
- π Smart Detection: Automatic GPU backend detection with optimal library selection
- π¦ Intelligent Downloads: GPU-aware library downloader selects best variants automatically
Added
- Enhanced GPU Backend Support with comprehensive detection and automatic selection
- Vulkan support for cross-platform GPU acceleration (NVIDIA, AMD, Intel GPUs)
- OpenCL support for diverse GPU vendors including Qualcomm Adreno on ARM64
- SYCL support for Intel oneAPI toolkit and unified parallel programming
- GPU backend detection with
DetectGpuBackend()function andLlamaGpuBackendenum - Automatic GPU variant selection in library downloader based on available SDKs
- GPU detection tools with new
detect-gpuMakefile target - GPU testing suite with
test-gputarget and comprehensive backend tests
- Enhanced Documentation for GPU setup and configuration
- Comprehensive GPU installation guides for Linux (Vulkan, OpenCL, SYCL)
- Windows GPU setup instructions for all supported backends
- Platform-specific GPU requirements and verification steps
- Updated GPU Support Matrix with all available backends
- Improved CI/CD Pipeline with GPU detection testing
- Added GPU detection tools installation in CI workflows
- New
gpu-detectionjob for comprehensive GPU backend testing - GPU-aware library downloading validation
- Download-based architecture using pre-built binaries from official llama.cpp releases
- Automatic library download system with platform detection
- Library cache management with
clean-libstarget - Cross-platform download testing (
test-download-platforms) - Command-line download tool (
cmd/gollama-download) clone-llamacpptarget for developers needing source code cross-reference- Platform-specific architecture with Go build tags for improved cross-platform support
- Windows compilation compatibility using native syscalls (
LoadLibraryW,FreeLibrary) - Cross-platform compilation testing in CI pipeline
- Platform capability detection functions (
isPlatformSupported,getPlatformError) - Integrated hf.sh script management for Hugging Face model downloads
update-hf-scripttarget for updating hf.sh from llama.cpp repository- Enhanced model download system using hf.sh instead of direct curl
- Comprehensive tools documentation (
docs/TOOLS.md) - Dedicated platform-specific test suite (
TestPlatformSpecific) - Enhanced Makefile with cross-compilation targets (
test-cross-compile,test-compile-*) - Comprehensive platform migration documentation
- Initial Go binding for llama.cpp using purego
- Cross-platform support (macOS, Linux, Windows)
- CPU and GPU acceleration support
Changed
- Enhanced GPU Backend Priority: Updated detection order to CUDA β HIP β Vulkan β OpenCL β SYCL β CPU
- Intelligent Library Selection: Downloader now automatically selects optimal GPU variant based on available tools
- Expanded Platform Support: Added comprehensive GPU backend support across Linux and Windows
- Updated GPU Configuration: Enhanced context parameters with automatic GPU backend detection
- Dependencies: Updated llama.cpp from build b6076 to b6099 (automated via Renovate)
- Breaking: Migrated from compilation-based to download-based architecture
- Simplified build process: No longer requires CMake, compilers, or GPU SDKs
- Library loading now uses automatic download instead of local compilation
- Updated documentation to reflect new download-based workflow
- Model download system: Now uses hf.sh script from llama.cpp instead of direct curl commands
- Example projects: Updated to use local hf.sh script from
scripts/directory - Documentation: Updated to reflect hf.sh script integration and usage
GPU Backend Support Matrix
| Backend | Platforms | GPU Vendors | Detection Command | Status |
|---|---|---|---|---|
| Metal | macOS | Apple Silicon | system_profiler |
β Production |
| CUDA | Linux, Windows | NVIDIA | nvcc |
β Production |
| HIP/ROCm | Linux, Windows | AMD | hipconfig |
β Production |
| Vulkan | Linux, Windows | NVIDIA, AMD, Intel | vulkaninfo |
β Production |
| OpenCL | Windows, Linux | Qualcomm Adreno, Intel, AMD | clinfo |
β Production |
| SYCL | Linux, Windows | Intel, NVIDIA | sycl-ls |
β Production |
| CPU | All | All | N/A | β Fallback |
Dependencies
- llama.cpp: Updated from b6076 to b6099 (managed by Renovate)
Removed
- All
build-llamacpp-*compilation targets (no longer needed) - CMake and compiler dependencies for regular builds
- Complex GPU SDK detection at build time
build-libs-gpuandbuild-libs-cputargets- Complete API coverage for llama.cpp functions
- Pre-built llama.cpp libraries for all platforms
- Comprehensive examples and documentation
- GitHub Actions CI/CD pipeline
- Automated release system
Changed
- Breaking internal change: Migrated from direct purego imports to platform-specific abstraction layer
- Separated platform-specific code into
platform_unix.goandplatform_windows.gowith appropriate build tags - Updated CI to test cross-compilation for all platforms (Windows, Linux, macOS on both amd64 and arm64)
- Enhanced documentation to reflect platform-specific implementation details
Fixed
- Windows CI compilation errors: Fixed undefined
purego.Dlopen,purego.RTLD_NOW,purego.RTLD_GLOBAL, andpurego.Dlclosesymbols - Cross-compilation now works from any platform to any platform
- Platform detection properly handles unsupported/incomplete platforms
Features
- Pure Go implementation (no CGO required)
- Enhanced GPU Support:
- Metal support for macOS (Apple Silicon and Intel)
- CUDA support for NVIDIA GPUs
- HIP support for AMD GPUs
- NEW: Vulkan support for cross-platform GPU acceleration
- NEW: OpenCL support for diverse GPU vendors (including Qualcomm Adreno)
- NEW: SYCL support for Intel oneAPI and unified parallel programming
- NEW: Automatic GPU backend detection and selection
- NEW: GPU-aware library downloading with optimal variant selection
- Memory mapping and locking options
- Batch processing capabilities
- Multiple sampling strategies
- Model quantization support
- Context state management
- Token manipulation utilities
Platform Support
- macOS: β Intel x64, Apple Silicon (ARM64) with Metal - Fully supported
- Linux: β x86_64, ARM64 with CUDA/HIP/Vulkan/SYCL - Fully supported
- Windows: π§ x86_64, ARM64 with CUDA/HIP/Vulkan/OpenCL/SYCL - Build compatibility implemented, runtime support in development
Technical Details
- Unix-like platforms (Linux, macOS): Use purego for dynamic library loading
- Windows platform: Use native Windows syscalls for library management
- Build tags:
!windowsfor Unix-like,windowsfor Windows-specific code - Zero runtime overhead: Platform abstraction has no performance impact
- GPU Detection Priority: CUDA β HIP β Vulkan β OpenCL β SYCL β CPU (Linux/Windows)
- Automatic Fallback: Graceful degradation to CPU when GPU backends unavailable
- Command Detection: Uses
exec.LookPath()for cross-platform command availability - Pattern Matching: Regex-based asset selection for optimal GPU variant downloads
Assets 2
Release v0.1.0
β¨ feat(ci): add permissions for GitHub Pages deployment * Added `contents: write` permission to enable deployment to GitHub Pages.
Assets 2
You canβt perform that action at this time.