whisper-large-v3-mlx / lib /python3.11 /site-packages /mlx /include /metal_cpp /Metal /MTLIOCommandQueue.hpp
| //------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| // | |
| // Metal/MTLIOCommandQueue.hpp | |
| // | |
| // Copyright 2020-2023 Apple Inc. | |
| // | |
| // Licensed under the Apache License, Version 2.0 (the "License"); | |
| // you may not use this file except in compliance with the License. | |
| // You may obtain a copy of the License at | |
| // | |
| // http://www.apache.org/licenses/LICENSE-2.0 | |
| // | |
| // Unless required by applicable law or agreed to in writing, software | |
| // distributed under the License is distributed on an "AS IS" BASIS, | |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| // See the License for the specific language governing permissions and | |
| // limitations under the License. | |
| // | |
| //------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| namespace MTL | |
| { | |
| _MTL_ENUM(NS::Integer, IOPriority) { | |
| IOPriorityHigh = 0, | |
| IOPriorityNormal = 1, | |
| IOPriorityLow = 2, | |
| }; | |
| _MTL_ENUM(NS::Integer, IOCommandQueueType) { | |
| IOCommandQueueTypeConcurrent = 0, | |
| IOCommandQueueTypeSerial = 1, | |
| }; | |
| _MTL_CONST(NS::ErrorDomain, IOErrorDomain); | |
| _MTL_ENUM(NS::Integer, IOError) { | |
| IOErrorURLInvalid = 1, | |
| IOErrorInternal = 2, | |
| }; | |
| class IOCommandQueue : public NS::Referencing<IOCommandQueue> | |
| { | |
| public: | |
| void enqueueBarrier(); | |
| class IOCommandBuffer* commandBuffer(); | |
| class IOCommandBuffer* commandBufferWithUnretainedReferences(); | |
| NS::String* label() const; | |
| void setLabel(const NS::String* label); | |
| }; | |
| class IOScratchBuffer : public NS::Referencing<IOScratchBuffer> | |
| { | |
| public: | |
| class Buffer* buffer() const; | |
| }; | |
| class IOScratchBufferAllocator : public NS::Referencing<IOScratchBufferAllocator> | |
| { | |
| public: | |
| class IOScratchBuffer* newScratchBuffer(NS::UInteger minimumSize); | |
| }; | |
| class IOCommandQueueDescriptor : public NS::Copying<IOCommandQueueDescriptor> | |
| { | |
| public: | |
| static class IOCommandQueueDescriptor* alloc(); | |
| class IOCommandQueueDescriptor* init(); | |
| NS::UInteger maxCommandBufferCount() const; | |
| void setMaxCommandBufferCount(NS::UInteger maxCommandBufferCount); | |
| MTL::IOPriority priority() const; | |
| void setPriority(MTL::IOPriority priority); | |
| MTL::IOCommandQueueType type() const; | |
| void setType(MTL::IOCommandQueueType type); | |
| NS::UInteger maxCommandsInFlight() const; | |
| void setMaxCommandsInFlight(NS::UInteger maxCommandsInFlight); | |
| class IOScratchBufferAllocator* scratchBufferAllocator() const; | |
| void setScratchBufferAllocator(const class IOScratchBufferAllocator* scratchBufferAllocator); | |
| }; | |
| class IOFileHandle : public NS::Referencing<IOFileHandle> | |
| { | |
| public: | |
| NS::String* label() const; | |
| void setLabel(const NS::String* label); | |
| }; | |
| } | |
| // method: enqueueBarrier | |
| _MTL_INLINE void MTL::IOCommandQueue::enqueueBarrier() | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(enqueueBarrier)); | |
| } | |
| // method: commandBuffer | |
| _MTL_INLINE MTL::IOCommandBuffer* MTL::IOCommandQueue::commandBuffer() | |
| { | |
| return Object::sendMessage<MTL::IOCommandBuffer*>(this, _MTL_PRIVATE_SEL(commandBuffer)); | |
| } | |
| // method: commandBufferWithUnretainedReferences | |
| _MTL_INLINE MTL::IOCommandBuffer* MTL::IOCommandQueue::commandBufferWithUnretainedReferences() | |
| { | |
| return Object::sendMessage<MTL::IOCommandBuffer*>(this, _MTL_PRIVATE_SEL(commandBufferWithUnretainedReferences)); | |
| } | |
| // property: label | |
| _MTL_INLINE NS::String* MTL::IOCommandQueue::label() const | |
| { | |
| return Object::sendMessage<NS::String*>(this, _MTL_PRIVATE_SEL(label)); | |
| } | |
| _MTL_INLINE void MTL::IOCommandQueue::setLabel(const NS::String* label) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setLabel_), label); | |
| } | |
| // property: buffer | |
| _MTL_INLINE MTL::Buffer* MTL::IOScratchBuffer::buffer() const | |
| { | |
| return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(buffer)); | |
| } | |
| // method: newScratchBufferWithMinimumSize: | |
| _MTL_INLINE MTL::IOScratchBuffer* MTL::IOScratchBufferAllocator::newScratchBuffer(NS::UInteger minimumSize) | |
| { | |
| return Object::sendMessage<MTL::IOScratchBuffer*>(this, _MTL_PRIVATE_SEL(newScratchBufferWithMinimumSize_), minimumSize); | |
| } | |
| // static method: alloc | |
| _MTL_INLINE MTL::IOCommandQueueDescriptor* MTL::IOCommandQueueDescriptor::alloc() | |
| { | |
| return NS::Object::alloc<MTL::IOCommandQueueDescriptor>(_MTL_PRIVATE_CLS(MTLIOCommandQueueDescriptor)); | |
| } | |
| // method: init | |
| _MTL_INLINE MTL::IOCommandQueueDescriptor* MTL::IOCommandQueueDescriptor::init() | |
| { | |
| return NS::Object::init<MTL::IOCommandQueueDescriptor>(); | |
| } | |
| // property: maxCommandBufferCount | |
| _MTL_INLINE NS::UInteger MTL::IOCommandQueueDescriptor::maxCommandBufferCount() const | |
| { | |
| return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(maxCommandBufferCount)); | |
| } | |
| _MTL_INLINE void MTL::IOCommandQueueDescriptor::setMaxCommandBufferCount(NS::UInteger maxCommandBufferCount) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMaxCommandBufferCount_), maxCommandBufferCount); | |
| } | |
| // property: priority | |
| _MTL_INLINE MTL::IOPriority MTL::IOCommandQueueDescriptor::priority() const | |
| { | |
| return Object::sendMessage<MTL::IOPriority>(this, _MTL_PRIVATE_SEL(priority)); | |
| } | |
| _MTL_INLINE void MTL::IOCommandQueueDescriptor::setPriority(MTL::IOPriority priority) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPriority_), priority); | |
| } | |
| // property: type | |
| _MTL_INLINE MTL::IOCommandQueueType MTL::IOCommandQueueDescriptor::type() const | |
| { | |
| return Object::sendMessage<MTL::IOCommandQueueType>(this, _MTL_PRIVATE_SEL(type)); | |
| } | |
| _MTL_INLINE void MTL::IOCommandQueueDescriptor::setType(MTL::IOCommandQueueType type) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setType_), type); | |
| } | |
| // property: maxCommandsInFlight | |
| _MTL_INLINE NS::UInteger MTL::IOCommandQueueDescriptor::maxCommandsInFlight() const | |
| { | |
| return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(maxCommandsInFlight)); | |
| } | |
| _MTL_INLINE void MTL::IOCommandQueueDescriptor::setMaxCommandsInFlight(NS::UInteger maxCommandsInFlight) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMaxCommandsInFlight_), maxCommandsInFlight); | |
| } | |
| // property: scratchBufferAllocator | |
| _MTL_INLINE MTL::IOScratchBufferAllocator* MTL::IOCommandQueueDescriptor::scratchBufferAllocator() const | |
| { | |
| return Object::sendMessage<MTL::IOScratchBufferAllocator*>(this, _MTL_PRIVATE_SEL(scratchBufferAllocator)); | |
| } | |
| _MTL_INLINE void MTL::IOCommandQueueDescriptor::setScratchBufferAllocator(const MTL::IOScratchBufferAllocator* scratchBufferAllocator) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setScratchBufferAllocator_), scratchBufferAllocator); | |
| } | |
| // property: label | |
| _MTL_INLINE NS::String* MTL::IOFileHandle::label() const | |
| { | |
| return Object::sendMessage<NS::String*>(this, _MTL_PRIVATE_SEL(label)); | |
| } | |
| _MTL_INLINE void MTL::IOFileHandle::setLabel(const NS::String* label) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setLabel_), label); | |
| } | |