Skip to main content

apple_mps/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(clippy::missing_const_for_fn)]
4#![allow(clippy::missing_errors_doc)]
5#![allow(clippy::module_name_repetitions)]
6#![allow(clippy::must_use_candidate)]
7
8pub mod core;
9pub mod error;
10pub mod ffi;
11pub mod filters;
12mod generated;
13pub mod image;
14pub mod matrix;
15pub mod ndarray;
16pub mod neural;
17pub mod ray;
18pub mod state;
19
20pub use crate::core::{
21    device_options, hint_temporary_memory_high_water_mark, preferred_device,
22    set_heap_cache_duration, supports_mtl_device, CommandBuffer as MpsCommandBuffer, Predicate,
23    PreferredDevice,
24};
25pub use crate::error::{Error, Result};
26pub use crate::filters::{
27    HistogramInfo, ImageAdd, ImageBilinearScale, ImageBox, ImageConvolution, ImageGaussianBlur,
28    ImageHistogram, ImageLanczosScale, ImageMedian, ImageReduceRowMax, ImageReduceRowMean,
29    ImageReduceRowMin, ImageReduceRowSum, ImageScaleAndAdd, ImageSobel, ImageStatisticsMean,
30    ImageStatisticsMinAndMax, ImageThresholdBinary, ScaleTransform,
31};
32pub use crate::image::{
33    feature_channel_format, image_edge_mode, image_layout, kernel_options, Image, ImageDescriptor,
34    ImageReadWriteParams, ImageRegion,
35};
36pub use crate::matrix::{
37    data_type, data_type_size, Matrix, MatrixDescriptor, MatrixMultiplication,
38    MatrixMultiplicationDescriptor, Vector, VectorDescriptor,
39};
40pub use crate::ndarray::{
41    NDArray, NDArrayDescriptor, NDArrayIdentity, NDArrayMatrixMultiplication,
42};
43pub use crate::neural::{
44    cnn_accumulator_precision_option, cnn_convolution_flags, cnn_convolution_weights_layout,
45    nn_regularization_type, rnn_bidirectional_combine_mode, rnn_sequence_direction, CnnConvolution,
46    CnnConvolutionDescriptor, CnnConvolutionWeightsAndBiasesState, CnnNeuronReluNode,
47    CnnPoolingMaxNode, CnnSoftMaxNode, CnnUpsamplingNearestNode, GruDescriptor, LstmDescriptor,
48    NNGraph, NNImageNode, NNOptimizer, NNOptimizerAdam, NNOptimizerDescriptor, NNOptimizerRmsProp,
49    NNOptimizerStochasticGradientDescent, RnnDescriptor, RnnImageInferenceLayer,
50    RnnRecurrentImageState, RnnSingleGateDescriptor,
51};
52pub use crate::ray::{
53    acceleration_structure_status, acceleration_structure_usage, cull_mode, intersection_data_type,
54    intersection_type, polygon_type, ray_data_type, winding, PolygonAccelerationStructure,
55    RayIntersector, SVGF,
56};
57pub use crate::state::{
58    state_batch_increment_read_count, state_batch_resource_size, state_batch_synchronize,
59    state_resource_type, State, StateResourceList, StateTextureInfo,
60};