whisper-large-v3-mlx
/
lib
/python3.11
/site-packages
/mlx
/include
/metal_cpp
/Metal
/MTLFunctionStitching.hpp
| //------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| // | |
| // Metal/MTLFunctionStitching.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 | |
| { | |
| class FunctionStitchingAttribute : public NS::Referencing<FunctionStitchingAttribute> | |
| { | |
| public: | |
| }; | |
| class FunctionStitchingAttributeAlwaysInline : public NS::Referencing<FunctionStitchingAttributeAlwaysInline, FunctionStitchingAttribute> | |
| { | |
| public: | |
| static class FunctionStitchingAttributeAlwaysInline* alloc(); | |
| class FunctionStitchingAttributeAlwaysInline* init(); | |
| }; | |
| class FunctionStitchingNode : public NS::Copying<FunctionStitchingNode> | |
| { | |
| public: | |
| }; | |
| class FunctionStitchingInputNode : public NS::Referencing<FunctionStitchingInputNode, FunctionStitchingNode> | |
| { | |
| public: | |
| static class FunctionStitchingInputNode* alloc(); | |
| class FunctionStitchingInputNode* init(); | |
| NS::UInteger argumentIndex() const; | |
| void setArgumentIndex(NS::UInteger argumentIndex); | |
| MTL::FunctionStitchingInputNode* init(NS::UInteger argument); | |
| }; | |
| class FunctionStitchingFunctionNode : public NS::Referencing<FunctionStitchingFunctionNode, FunctionStitchingNode> | |
| { | |
| public: | |
| static class FunctionStitchingFunctionNode* alloc(); | |
| class FunctionStitchingFunctionNode* init(); | |
| NS::String* name() const; | |
| void setName(const NS::String* name); | |
| NS::Array* arguments() const; | |
| void setArguments(const NS::Array* arguments); | |
| NS::Array* controlDependencies() const; | |
| void setControlDependencies(const NS::Array* controlDependencies); | |
| MTL::FunctionStitchingFunctionNode* init(const NS::String* name, const NS::Array* arguments, const NS::Array* controlDependencies); | |
| }; | |
| class FunctionStitchingGraph : public NS::Copying<FunctionStitchingGraph> | |
| { | |
| public: | |
| static class FunctionStitchingGraph* alloc(); | |
| class FunctionStitchingGraph* init(); | |
| NS::String* functionName() const; | |
| void setFunctionName(const NS::String* functionName); | |
| NS::Array* nodes() const; | |
| void setNodes(const NS::Array* nodes); | |
| class FunctionStitchingFunctionNode* outputNode() const; | |
| void setOutputNode(const class FunctionStitchingFunctionNode* outputNode); | |
| NS::Array* attributes() const; | |
| void setAttributes(const NS::Array* attributes); | |
| MTL::FunctionStitchingGraph* init(const NS::String* functionName, const NS::Array* nodes, const class FunctionStitchingFunctionNode* outputNode, const NS::Array* attributes); | |
| }; | |
| class StitchedLibraryDescriptor : public NS::Copying<StitchedLibraryDescriptor> | |
| { | |
| public: | |
| static class StitchedLibraryDescriptor* alloc(); | |
| class StitchedLibraryDescriptor* init(); | |
| NS::Array* functionGraphs() const; | |
| void setFunctionGraphs(const NS::Array* functionGraphs); | |
| NS::Array* functions() const; | |
| void setFunctions(const NS::Array* functions); | |
| }; | |
| } | |
| // static method: alloc | |
| _MTL_INLINE MTL::FunctionStitchingAttributeAlwaysInline* MTL::FunctionStitchingAttributeAlwaysInline::alloc() | |
| { | |
| return NS::Object::alloc<MTL::FunctionStitchingAttributeAlwaysInline>(_MTL_PRIVATE_CLS(MTLFunctionStitchingAttributeAlwaysInline)); | |
| } | |
| // method: init | |
| _MTL_INLINE MTL::FunctionStitchingAttributeAlwaysInline* MTL::FunctionStitchingAttributeAlwaysInline::init() | |
| { | |
| return NS::Object::init<MTL::FunctionStitchingAttributeAlwaysInline>(); | |
| } | |
| // static method: alloc | |
| _MTL_INLINE MTL::FunctionStitchingInputNode* MTL::FunctionStitchingInputNode::alloc() | |
| { | |
| return NS::Object::alloc<MTL::FunctionStitchingInputNode>(_MTL_PRIVATE_CLS(MTLFunctionStitchingInputNode)); | |
| } | |
| // method: init | |
| _MTL_INLINE MTL::FunctionStitchingInputNode* MTL::FunctionStitchingInputNode::init() | |
| { | |
| return NS::Object::init<MTL::FunctionStitchingInputNode>(); | |
| } | |
| // property: argumentIndex | |
| _MTL_INLINE NS::UInteger MTL::FunctionStitchingInputNode::argumentIndex() const | |
| { | |
| return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(argumentIndex)); | |
| } | |
| _MTL_INLINE void MTL::FunctionStitchingInputNode::setArgumentIndex(NS::UInteger argumentIndex) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setArgumentIndex_), argumentIndex); | |
| } | |
| // method: initWithArgumentIndex: | |
| _MTL_INLINE MTL::FunctionStitchingInputNode* MTL::FunctionStitchingInputNode::init(NS::UInteger argument) | |
| { | |
| return Object::sendMessage<MTL::FunctionStitchingInputNode*>(this, _MTL_PRIVATE_SEL(initWithArgumentIndex_), argument); | |
| } | |
| // static method: alloc | |
| _MTL_INLINE MTL::FunctionStitchingFunctionNode* MTL::FunctionStitchingFunctionNode::alloc() | |
| { | |
| return NS::Object::alloc<MTL::FunctionStitchingFunctionNode>(_MTL_PRIVATE_CLS(MTLFunctionStitchingFunctionNode)); | |
| } | |
| // method: init | |
| _MTL_INLINE MTL::FunctionStitchingFunctionNode* MTL::FunctionStitchingFunctionNode::init() | |
| { | |
| return NS::Object::init<MTL::FunctionStitchingFunctionNode>(); | |
| } | |
| // property: name | |
| _MTL_INLINE NS::String* MTL::FunctionStitchingFunctionNode::name() const | |
| { | |
| return Object::sendMessage<NS::String*>(this, _MTL_PRIVATE_SEL(name)); | |
| } | |
| _MTL_INLINE void MTL::FunctionStitchingFunctionNode::setName(const NS::String* name) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setName_), name); | |
| } | |
| // property: arguments | |
| _MTL_INLINE NS::Array* MTL::FunctionStitchingFunctionNode::arguments() const | |
| { | |
| return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(arguments)); | |
| } | |
| _MTL_INLINE void MTL::FunctionStitchingFunctionNode::setArguments(const NS::Array* arguments) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setArguments_), arguments); | |
| } | |
| // property: controlDependencies | |
| _MTL_INLINE NS::Array* MTL::FunctionStitchingFunctionNode::controlDependencies() const | |
| { | |
| return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(controlDependencies)); | |
| } | |
| _MTL_INLINE void MTL::FunctionStitchingFunctionNode::setControlDependencies(const NS::Array* controlDependencies) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlDependencies_), controlDependencies); | |
| } | |
| // method: initWithName:arguments:controlDependencies: | |
| _MTL_INLINE MTL::FunctionStitchingFunctionNode* MTL::FunctionStitchingFunctionNode::init(const NS::String* name, const NS::Array* arguments, const NS::Array* controlDependencies) | |
| { | |
| return Object::sendMessage<MTL::FunctionStitchingFunctionNode*>(this, _MTL_PRIVATE_SEL(initWithName_arguments_controlDependencies_), name, arguments, controlDependencies); | |
| } | |
| // static method: alloc | |
| _MTL_INLINE MTL::FunctionStitchingGraph* MTL::FunctionStitchingGraph::alloc() | |
| { | |
| return NS::Object::alloc<MTL::FunctionStitchingGraph>(_MTL_PRIVATE_CLS(MTLFunctionStitchingGraph)); | |
| } | |
| // method: init | |
| _MTL_INLINE MTL::FunctionStitchingGraph* MTL::FunctionStitchingGraph::init() | |
| { | |
| return NS::Object::init<MTL::FunctionStitchingGraph>(); | |
| } | |
| // property: functionName | |
| _MTL_INLINE NS::String* MTL::FunctionStitchingGraph::functionName() const | |
| { | |
| return Object::sendMessage<NS::String*>(this, _MTL_PRIVATE_SEL(functionName)); | |
| } | |
| _MTL_INLINE void MTL::FunctionStitchingGraph::setFunctionName(const NS::String* functionName) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setFunctionName_), functionName); | |
| } | |
| // property: nodes | |
| _MTL_INLINE NS::Array* MTL::FunctionStitchingGraph::nodes() const | |
| { | |
| return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(nodes)); | |
| } | |
| _MTL_INLINE void MTL::FunctionStitchingGraph::setNodes(const NS::Array* nodes) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setNodes_), nodes); | |
| } | |
| // property: outputNode | |
| _MTL_INLINE MTL::FunctionStitchingFunctionNode* MTL::FunctionStitchingGraph::outputNode() const | |
| { | |
| return Object::sendMessage<MTL::FunctionStitchingFunctionNode*>(this, _MTL_PRIVATE_SEL(outputNode)); | |
| } | |
| _MTL_INLINE void MTL::FunctionStitchingGraph::setOutputNode(const MTL::FunctionStitchingFunctionNode* outputNode) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setOutputNode_), outputNode); | |
| } | |
| // property: attributes | |
| _MTL_INLINE NS::Array* MTL::FunctionStitchingGraph::attributes() const | |
| { | |
| return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(attributes)); | |
| } | |
| _MTL_INLINE void MTL::FunctionStitchingGraph::setAttributes(const NS::Array* attributes) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setAttributes_), attributes); | |
| } | |
| // method: initWithFunctionName:nodes:outputNode:attributes: | |
| _MTL_INLINE MTL::FunctionStitchingGraph* MTL::FunctionStitchingGraph::init(const NS::String* functionName, const NS::Array* nodes, const MTL::FunctionStitchingFunctionNode* outputNode, const NS::Array* attributes) | |
| { | |
| return Object::sendMessage<MTL::FunctionStitchingGraph*>(this, _MTL_PRIVATE_SEL(initWithFunctionName_nodes_outputNode_attributes_), functionName, nodes, outputNode, attributes); | |
| } | |
| // static method: alloc | |
| _MTL_INLINE MTL::StitchedLibraryDescriptor* MTL::StitchedLibraryDescriptor::alloc() | |
| { | |
| return NS::Object::alloc<MTL::StitchedLibraryDescriptor>(_MTL_PRIVATE_CLS(MTLStitchedLibraryDescriptor)); | |
| } | |
| // method: init | |
| _MTL_INLINE MTL::StitchedLibraryDescriptor* MTL::StitchedLibraryDescriptor::init() | |
| { | |
| return NS::Object::init<MTL::StitchedLibraryDescriptor>(); | |
| } | |
| // property: functionGraphs | |
| _MTL_INLINE NS::Array* MTL::StitchedLibraryDescriptor::functionGraphs() const | |
| { | |
| return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(functionGraphs)); | |
| } | |
| _MTL_INLINE void MTL::StitchedLibraryDescriptor::setFunctionGraphs(const NS::Array* functionGraphs) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setFunctionGraphs_), functionGraphs); | |
| } | |
| // property: functions | |
| _MTL_INLINE NS::Array* MTL::StitchedLibraryDescriptor::functions() const | |
| { | |
| return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(functions)); | |
| } | |
| _MTL_INLINE void MTL::StitchedLibraryDescriptor::setFunctions(const NS::Array* functions) | |
| { | |
| Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setFunctions_), functions); | |
| } | |