Skip to main content
Glama
orneryd

M.I.M.I.R - Multi-agent Intelligent Memory & Insight Repository

by orneryd
opencl_stub.go2.8 kB
//go:build !opencl // +build !opencl // Package opencl provides cross-platform GPU acceleration using OpenCL. // This is a stub implementation for systems without OpenCL support. package opencl import ( "errors" ) // Errors var ( ErrOpenCLNotAvailable = errors.New("opencl: OpenCL is not available (build without opencl tag)") ErrDeviceCreation = errors.New("opencl: failed to create OpenCL device") ErrBufferCreation = errors.New("opencl: failed to create buffer") ErrKernelExecution = errors.New("opencl: kernel execution failed") ErrInvalidBuffer = errors.New("opencl: invalid buffer") ) // Device represents an OpenCL GPU device (stub). type Device struct{} // Buffer represents an OpenCL memory buffer (stub). type Buffer struct{} // SearchResult holds a similarity search result. type SearchResult struct { Index uint32 Score float32 } // IsAvailable returns false on systems without OpenCL. func IsAvailable() bool { return false } // DeviceCount returns 0 on systems without OpenCL. func DeviceCount() int { return 0 } // NewDevice returns an error on systems without OpenCL. func NewDevice(deviceID int) (*Device, error) { return nil, ErrOpenCLNotAvailable } // Release is a no-op stub. func (d *Device) Release() {} // ID returns 0. func (d *Device) ID() int { return 0 } // Name returns empty string. func (d *Device) Name() string { return "" } // Vendor returns empty string. func (d *Device) Vendor() string { return "" } // MemoryBytes returns 0. func (d *Device) MemoryBytes() uint64 { return 0 } // MemoryMB returns 0. func (d *Device) MemoryMB() int { return 0 } // NewBuffer returns an error. func (d *Device) NewBuffer(data []float32) (*Buffer, error) { return nil, ErrOpenCLNotAvailable } // NewEmptyBuffer returns an error. func (d *Device) NewEmptyBuffer(count uint64) (*Buffer, error) { return nil, ErrOpenCLNotAvailable } // Release is a no-op stub. func (b *Buffer) Release() {} // Size returns 0. func (b *Buffer) Size() uint64 { return 0 } // ReadFloat32 returns nil. func (b *Buffer) ReadFloat32(count int) []float32 { return nil } // NormalizeVectors returns an error. func (d *Device) NormalizeVectors(vectors *Buffer, n, dimensions uint32) error { return ErrOpenCLNotAvailable } // CosineSimilarity returns an error. func (d *Device) CosineSimilarity(embeddings, query, scores *Buffer, n, dimensions uint32, normalized bool) error { return ErrOpenCLNotAvailable } // TopK returns an error. func (d *Device) TopK(scores *Buffer, n, k uint32) ([]uint32, []float32, error) { return nil, nil, ErrOpenCLNotAvailable } // Search returns an error. func (d *Device) Search(embeddings *Buffer, query []float32, n, dimensions uint32, k int, normalized bool) ([]SearchResult, error) { return nil, ErrOpenCLNotAvailable }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/orneryd/Mimir'

If you have feedback or need assistance with the MCP directory API, please join our Discord server