This commit is contained in:
CircleCI Docs 2025-03-05 21:30:09 +00:00
parent a84c4438dd
commit 7b79b58916
733 changed files with 41418 additions and 30412 deletions

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 0fe93224465436eac7f4adf29677bc17
config: 136f45bc6db8a54d889bf646df22a392
tags: 645f666f9bcd5a90fca523b33c5a78b7

View File

@ -0,0 +1,6 @@
mlx.nn.average\_gradients
=========================
.. currentmodule:: mlx.nn
.. autofunction:: average_gradients

View File

@ -174,6 +174,7 @@ In detail:
value_and_grad
quantize
average_gradients
.. toctree::

View File

@ -5,21 +5,27 @@ Distributed Communication
.. currentmodule:: mlx.core.distributed
MLX utilizes `MPI <https://en.wikipedia.org/wiki/Message_Passing_Interface>`_ to
provide distributed communication operations that allow the computational cost
of training or inference to be shared across many physical machines. You can
see a list of the supported operations in the :ref:`API docs<distributed>`.
MLX supports distributed communication operations that allow the computational cost
of training or inference to be shared across many physical machines. At the
moment we support two different communication backends:
* `MPI <https://en.wikipedia.org/wiki/Message_Passing_Interface>`_ a
full-featured and mature distributed communications library
* A **ring** backend of our own that uses native TCP sockets and should be
faster for thunderbolt connections.
The list of all currently supported operations and their documentation can be
seen in the :ref:`API docs<distributed>`.
.. note::
A lot of operations may not be supported or not as fast as they should be.
Some operations may not be supported or not as fast as they should be.
We are adding more and tuning the ones we have as we are figuring out the
best way to do distributed computing on Macs using MLX.
Getting Started
---------------
MLX already comes with the ability to "talk" to MPI if it is installed on the
machine. The minimal distributed program in MLX is as simple as:
A distributed program in MLX is as simple as:
.. code:: python
@ -30,74 +36,79 @@ machine. The minimal distributed program in MLX is as simple as:
print(world.rank(), x)
The program above sums the array ``mx.ones(10)`` across all
distributed processes. If simply run with ``python``, however, only one
process is launched and no distributed communication takes place.
distributed processes. However, when this script is run with ``python`` only
one process is launched and no distributed communication takes place. Namely,
all operations in ``mx.distributed`` are noops when the distributed group has a
size of one. This property allows us to avoid code that checks if we are in a
distributed setting similar to the one below:
To launch the program in distributed mode we need to use ``mpirun`` or
``mpiexec`` depending on the MPI installation. The simplest possible way is the
following:
.. code:: python
import mlx.core as mx
x = ...
world = mx.distributed.init()
# No need for the check we can simply do x = mx.distributed.all_sum(x)
if world.size() > 1:
x = mx.distributed.all_sum(x)
Running Distributed Programs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MLX provides ``mlx.launch`` a helper script to launch distributed programs.
Continuing with our initial example we can run it on localhost with 4 processes using
.. code:: shell
$ mpirun -np 2 python test.py
1 array([2, 2, 2, ..., 2, 2, 2], dtype=float32)
0 array([2, 2, 2, ..., 2, 2, 2], dtype=float32)
$ mlx.launch -n 4 my_script.py
3 array([4, 4, 4, ..., 4, 4, 4], dtype=float32)
2 array([4, 4, 4, ..., 4, 4, 4], dtype=float32)
1 array([4, 4, 4, ..., 4, 4, 4], dtype=float32)
0 array([4, 4, 4, ..., 4, 4, 4], dtype=float32)
The above launches two processes on the same (local) machine and we can see
both standard output streams. The processes send the array of 1s to each other
and compute the sum which is printed. Launching with ``mpirun -np 4 ...`` would
print 4 etc.
Installing MPI
---------------
MPI can be installed with Homebrew, using the Anaconda package manager or
compiled from source. Most of our testing is done using ``openmpi`` installed
with the Anaconda package manager as follows:
We can also run it on some remote hosts by providing their IPs (provided that
the script exists on all hosts and they are reachable by ssh)
.. code:: shell
$ conda install conda-forge::openmpi
$ mlx.launch --hosts ip1,ip2,ip3,ip4 my_script.py
3 array([4, 4, 4, ..., 4, 4, 4], dtype=float32)
2 array([4, 4, 4, ..., 4, 4, 4], dtype=float32)
1 array([4, 4, 4, ..., 4, 4, 4], dtype=float32)
0 array([4, 4, 4, ..., 4, 4, 4], dtype=float32)
Installing with Homebrew may require specifying the location of ``libmpi.dyld``
so that MLX can find it and load it at runtime. This can simply be achieved by
passing the ``DYLD_LIBRARY_PATH`` environment variable to ``mpirun``.
Consult the dedicated :doc:`usage guide<launching_distributed>` for more
information on using ``mlx.launch``.
.. code:: shell
Selecting Backend
^^^^^^^^^^^^^^^^^
$ mpirun -np 2 -x DYLD_LIBRARY_PATH=/opt/homebrew/lib/ python test.py
Setting up Remote Hosts
-----------------------
MPI can automatically connect to remote hosts and set up the communication over
the network if the remote hosts can be accessed via ssh. A good checklist to
debug connectivity issues is the following:
* ``ssh hostname`` works from all machines to all machines without asking for
password or host confirmation
* ``mpirun`` is accessible on all machines. You can call ``mpirun`` using its
full path to force all machines to use a specific path.
* Ensure that the ``hostname`` used by MPI is the one that you have configured
in the ``.ssh/config`` files on all machines.
You can select the backend you want to use when calling :func:`init` by passing
one of ``{'any', 'ring', 'mpi'}``. When passing ``any``, MLX will try to
initialize the ``ring`` backend and if it fails the ``mpi`` backend. If they
both fail then a singleton group is created.
.. note::
For an example hostname ``foo.bar.com`` MPI can use only ``foo`` as
the hostname passed to ssh if the current hostname matches ``*.bar.com``.
After a distributed backend is successfully initialized :func:`init` will
return **the same backend** if called without arguments or with backend set to
``any``.
An easy way to pass the host names to MPI is using a host file. A host file
looks like the following, where ``host1`` and ``host2`` should be the fully
qualified domain names or IPs for these hosts.
The following examples aim to clarify the backend initialization logic in MLX:
.. code::
.. code:: python
host1 slots=1
host2 slots=1
# Case 1: Initialize MPI regardless if it was possible to initialize the ring backend
world = mx.distributed.init(backend="mpi")
world2 = mx.distributed.init() # subsequent calls return the MPI backend!
When using MLX, it is very likely that you want to use 1 slot per host, ie one
process per host. The hostfile also needs to contain the current
host if you want to run on the local host. Passing the host file to
``mpirun`` is simply done using the ``--hostfile`` command line argument.
# Case 2: Initialize any backend
world = mx.distributed.init(backend="any") # equivalent to no arguments
world2 = mx.distributed.init() # same as above
# Case 3: Initialize both backends at the same time
world_mpi = mx.distributed.init(backend="mpi")
world_ring = mx.distributed.init(backend="ring")
world_any = mx.distributed.init() # same as MPI because it was initialized first!
Training Example
----------------
@ -155,13 +166,179 @@ everything else remaining the same.
optimizer.update(model, grads)
return loss
Tuning All Reduce
-----------------
Utilizing ``nn.average_gradients``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We are working on improving the performance of all reduce on MLX but for now
the two main things one can do to extract the most out of distributed training with MLX are:
Although the code example above works correctly; it performs one communication
per gradient. It is significantly more efficient to aggregate several gradients
together and perform fewer communication steps.
1. Perform a few large reductions instead of many small ones to improve
bandwidth and latency
2. Pass ``--mca btl_tcp_links 4`` to ``mpirun`` to configure it to use 4 tcp
connections between each host to improve bandwidth
This is the purpose of :func:`mlx.nn.average_gradients`. The final code looks
almost identical to the example above:
.. code:: python
model = ...
optimizer = ...
dataset = ...
def step(model, x, y):
loss, grads = loss_grad_fn(model, x, y)
grads = mlx.nn.average_gradients(grads) # <---- This line was added
optimizer.update(model, grads)
return loss
for x, y in dataset:
loss = step(model, x, y)
mx.eval(loss, model.parameters())
Getting Started with MPI
------------------------
MLX already comes with the ability to "talk" to MPI if it is installed on the
machine. Launching distributed MLX programs that use MPI can be done with
``mpirun`` as expected. However, in the following examples we will be using
``mlx.launch --backend mpi`` which takes care of some nuisances such as setting
absolute paths for the ``mpirun`` executable and the ``libmpi.dyld`` shared
library.
The simplest possible usage is the following which, assuming the minimal
example in the beginning of this page, should result in:
.. code:: shell
$ mlx.launch --backend mpi -n 2 test.py
1 array([2, 2, 2, ..., 2, 2, 2], dtype=float32)
0 array([2, 2, 2, ..., 2, 2, 2], dtype=float32)
The above launches two processes on the same (local) machine and we can see
both standard output streams. The processes send the array of 1s to each other
and compute the sum which is printed. Launching with ``mlx.launch -n 4 ...`` would
print 4 etc.
Installing MPI
^^^^^^^^^^^^^^
MPI can be installed with Homebrew, using the Anaconda package manager or
compiled from source. Most of our testing is done using ``openmpi`` installed
with the Anaconda package manager as follows:
.. code:: shell
$ conda install conda-forge::openmpi
Installing with Homebrew may require specifying the location of ``libmpi.dyld``
so that MLX can find it and load it at runtime. This can simply be achieved by
passing the ``DYLD_LIBRARY_PATH`` environment variable to ``mpirun`` and it is
done automatically by ``mlx.launch``.
.. code:: shell
$ mpirun -np 2 -x DYLD_LIBRARY_PATH=/opt/homebrew/lib/ python test.py
$ # or simply
$ mlx.launch -n 2 test.py
Setting up Remote Hosts
^^^^^^^^^^^^^^^^^^^^^^^
MPI can automatically connect to remote hosts and set up the communication over
the network if the remote hosts can be accessed via ssh. A good checklist to
debug connectivity issues is the following:
* ``ssh hostname`` works from all machines to all machines without asking for
password or host confirmation
* ``mpirun`` is accessible on all machines.
* Ensure that the ``hostname`` used by MPI is the one that you have configured
in the ``.ssh/config`` files on all machines.
Tuning MPI All Reduce
^^^^^^^^^^^^^^^^^^^^^
.. note::
For faster all reduce consider using the ring backend either with Thunderbolt
connections or over Ethernet.
Configure MPI to use N tcp connections between each host to improve bandwidth
by passing ``--mca btl_tcp_links N``.
Force MPI to use the most performant network interface by setting ``--mca
btl_tcp_if_include <iface>`` where ``<iface>`` should be the interface you want
to use.
Getting Started with Ring
-------------------------
The ring backend does not depend on any third party library so it is always
available. It uses TCP sockets so the nodes need to be reachable via a network.
As the name suggests the nodes are connected in a ring which means that rank 1
can only communicate with rank 0 and rank 2, rank 2 only with rank 1 and rank 3
and so on and so forth. As a result :func:`send` and :func:`recv` with
arbitrary sender and receiver is not supported in the ring backend.
Defining a Ring
^^^^^^^^^^^^^^^
The easiest way to define and use a ring is via a JSON hostfile and the
``mlx.launch`` :doc:`helper script <launching_distributed>`. For each node one
defines a hostname to ssh into to run commands on this node and one or more IPs
that this node will listen to for connections.
For example the hostfile below defines a 4 node ring. ``hostname1`` will be
rank 0, ``hostname2`` rank 1 etc.
.. code:: json
[
{"ssh": "hostname1", "ips": ["123.123.123.1"]},
{"ssh": "hostname2", "ips": ["123.123.123.2"]},
{"ssh": "hostname3", "ips": ["123.123.123.3"]},
{"ssh": "hostname4", "ips": ["123.123.123.4"]}
]
Running ``mlx.launch --hostfile ring-4.json my_script.py`` will ssh into each
node, run the script which will listen for connections in each of the provided
IPs. Specifically, ``hostname1`` will connect to ``123.123.123.2`` and accept a
connection from ``123.123.123.4`` and so on and so forth.
Thunderbolt Ring
^^^^^^^^^^^^^^^^
Although the ring backend can have benefits over MPI even for Ethernet, its
main purpose is to use Thunderbolt rings for higher bandwidth communication.
Setting up such thunderbolt rings can be done manually, but is a relatively
tedious process. To simplify this, we provide the utility ``mlx.distributed_config``.
To use ``mlx.distributed_config`` your computers need to be accessible by ssh via
Ethernet or Wi-Fi. Subsequently, connect them via thunderbolt cables and then call the
utility as follows:
.. code:: shell
mlx.distributed_config --verbose --hosts host1,host2,host3,host4
By default the script will attempt to discover the thunderbolt ring and provide
you with the commands to configure each node as well as the ``hostfile.json``
to use with ``mlx.launch``. If password-less ``sudo`` is available on the nodes
then ``--auto-setup`` can be used to configure them automatically.
To validate your connection without configuring anything
``mlx.distributed_config`` can also plot the ring using DOT format.
.. code:: shell
mlx.distributed_config --verbose --hosts host1,host2,host3,host4 --dot >ring.dot
dot -Tpng ring.dot >ring.png
open ring.png
If you want to go through the process manually, the steps are as follows:
* Disable the thunderbolt bridge interface
* For the cable connecting rank ``i`` to rank ``i + 1`` find the interfaces
corresponding to that cable in nodes ``i`` and ``i + 1``.
* Set up a unique subnetwork connecting the two nodes for the corresponding
interfaces. For instance if the cable corresponds to ``en2`` on node ``i``
and ``en2`` also on node ``i + 1`` then we may assign IPs ``192.168.0.1`` and
``192.168.0.2`` respectively to the two nodes. For more details you can see
the commands prepared by the utility script.

View File

@ -0,0 +1,105 @@
:orphan:
.. _usage_launch_distributed:
Launching Distributed Programs
==============================
.. currentmodule:: mlx.core.distributed
Installing the MLX python package provides a helper script ``mlx.launch`` that
can be used to run python scripts distributed on several nodes. It allows
launching using either the MPI backend or the ring backend. See the
:doc:`distributed docs <distributed>` for the different backends.
Usage
-----
The minimal usage example of ``mlx.launch`` is simply
.. code:: shell
mlx.launch --hosts ip1,ip2 my_script.py
or for testing on localhost
.. code:: shell
mlx.launch -n 2 my_script.py
The ``mlx.launch`` command connects to the provided host and launches the input
script on each host. It monitors each of the launched processes and terminates
the rest if one of them fails unexpectedly or if ``mlx.launch`` is terminated.
It also takes care of forwarding the output of each remote process to stdout
and stderr respectively.
Providing Hosts
^^^^^^^^^^^^^^^^
Hosts can be provided as command line arguments, like above, but the way that
allows to fully define a list of hosts is via a JSON hostfile. The hostfile has
a very simple schema. It is simply a list of objects that define each host via
a hostname to ssh to and a list of IPs to utilize for the communication.
.. code:: json
[
{"ssh": "hostname1", "ips": ["123.123.1.1", "123.123.2.1"]},
{"ssh": "hostname2", "ips": ["123.123.1.2", "123.123.2.2"]}
]
You can use ``mlx.distributed_config --over ethernet`` to create a hostfile
with IPs corresponding to the ``en0`` interface.
Setting up Remote Hosts
^^^^^^^^^^^^^^^^^^^^^^^^
In order to be able to launch the script on each host we need to be able to
connect via ssh. Moreover the input script and python binary need to be on each
host and on the same path. A good checklist to debug errors is the following:
* ``ssh hostname`` works without asking for password or host confirmation
* the python binary is available on all hosts at the same path. You can use
``mlx.launch --print-python`` to see what that path is.
* the script you want to run is available on all hosts at the same path
.. _mpi_specifics:
MPI Specifics
-------------
One can use MPI by passing ``--backend mpi`` to ``mlx.launch``. In that case,
``mlx.launch`` is a thin wrapper over ``mpirun``. Moreover,
* The IPs in the hostfile are ignored
* The ssh connectivity requirement is stronger as every node needs to be able
to connect to every other node
* ``mpirun`` needs to be available on every node at the same path
Finally, one can pass arguments to ``mpirun`` using ``--mpi-arg``. For instance
to choose a specific interface for the byte-transfer-layer of MPI we can call
``mlx.launch`` as follows:
.. code:: shell
mlx.launch --backend mpi --mpi-arg '--mca btl_tcp_if_include en0' --hostfile hosts.json my_script.py
.. _ring_specifics:
Ring Specifics
--------------
The ring backend, which is also the default backend, can be explicitly selected
with the argument ``--backend ring``. The ring backend has some specific
requirements and arguments that are different to MPI:
* The argument ``--hosts`` only accepts IPs and not hostnames. If we need to
ssh to a hostname that does not correspond to the IP we want to bind to we
have to provide a hostfile.
* ``--starting-port`` defines the port to bind to on the remote hosts.
Specifically rank 0 for the first IP will use this port and each subsequent
IP or rank will add 1 to this port.
* ``--connections-per-ip`` allows us to increase the number of connections
between neighboring nodes. This corresponds to ``--mca btl_tcp_links 2`` for
``mpirun``.

View File

@ -55,7 +55,7 @@ div.sphinxsidebarwrapper {
div.sphinxsidebar {
float: left;
width: 230px;
width: 270px;
margin-left: -100%;
font-size: 90%;
word-wrap: break-word;

View File

@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
VERSION: '0.23.1',
VERSION: '0.23.2',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: ar\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "طباعة إلى PDF"
msgid "Theme by the"
msgstr "موضوع بواسطة"
msgid "Download source file"
msgstr "تنزيل ملف المصدر"
msgid "open issue"
msgstr "قضية مفتوحة"
msgid "Contents"
msgstr "محتويات"
msgid "previous page"
msgstr "الصفحة السابقة"
msgid "Download notebook file"
msgstr "تنزيل ملف دفتر الملاحظات"
msgid "Copyright"
msgstr "حقوق النشر"
msgid "Download this page"
msgstr "قم بتنزيل هذه الصفحة"
msgid "Source repository"
msgstr "مستودع المصدر"
msgid "By the"
msgstr "بواسطة"
msgid "By"
msgstr "بواسطة"
msgid "repository"
msgstr "مخزن"
msgid "Contents"
msgstr "محتويات"
msgid "Last updated on"
msgstr "آخر تحديث في"
msgid "Copyright"
msgstr "حقوق النشر"
msgid "Toggle navigation"
msgstr "تبديل التنقل"
msgid "Download notebook file"
msgstr "تنزيل ملف دفتر الملاحظات"
msgid "Sphinx Book Theme"
msgstr "موضوع كتاب أبو الهول"
msgid "Download source file"
msgstr "تنزيل ملف المصدر"
msgid "suggest edit"
msgstr "أقترح تحرير"
msgid "Open an issue"
msgstr "افتح قضية"
msgid "Launch"
msgstr "إطلاق"
msgid "Fullscreen mode"
msgstr "وضع ملء الشاشة"
msgid "Download this page"
msgstr "قم بتنزيل هذه الصفحة"
msgid "Edit this page"
msgstr "قم بتحرير هذه الصفحة"
msgid "By the"
msgstr "بواسطة"
msgid "Fullscreen mode"
msgstr "وضع ملء الشاشة"
msgid "Last updated on"
msgstr "آخر تحديث في"
msgid "Launch"
msgstr "إطلاق"
msgid "Open an issue"
msgstr "افتح قضية"
msgid "Print to PDF"
msgstr "طباعة إلى PDF"
msgid "Source repository"
msgstr "مستودع المصدر"
msgid "Sphinx Book Theme"
msgstr "موضوع كتاب أبو الهول"
msgid "Theme by the"
msgstr "موضوع بواسطة"
msgid "Toggle navigation"
msgstr "تبديل التنقل"
msgid "next page"
msgstr "الصفحة التالية"
msgid "open issue"
msgstr "قضية مفتوحة"
msgid "previous page"
msgstr "الصفحة السابقة"
msgid "repository"
msgstr "مخزن"
msgid "suggest edit"
msgstr "أقترح تحرير"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Печат в PDF"
msgid "Theme by the"
msgstr "Тема от"
msgid "Download source file"
msgstr "Изтеглете изходния файл"
msgid "open issue"
msgstr "отворен брой"
msgid "Contents"
msgstr "Съдържание"
msgid "previous page"
msgstr "предишна страница"
msgid "Download notebook file"
msgstr "Изтеглете файла на бележника"
msgid "Copyright"
msgstr "Авторско право"
msgid "Download this page"
msgstr "Изтеглете тази страница"
msgid "Source repository"
msgstr "Хранилище на източника"
msgid "By the"
msgstr "По"
msgid "By"
msgstr "От"
msgid "repository"
msgstr "хранилище"
msgid "Contents"
msgstr "Съдържание"
msgid "Last updated on"
msgstr "Последна актуализация на"
msgid "Copyright"
msgstr "Авторско право"
msgid "Toggle navigation"
msgstr "Превключване на навигацията"
msgid "Download notebook file"
msgstr "Изтеглете файла на бележника"
msgid "Sphinx Book Theme"
msgstr "Тема на книгата Sphinx"
msgid "Download source file"
msgstr "Изтеглете изходния файл"
msgid "suggest edit"
msgstr "предложи редактиране"
msgid "Open an issue"
msgstr "Отворете проблем"
msgid "Launch"
msgstr "Стартиране"
msgid "Fullscreen mode"
msgstr "Режим на цял екран"
msgid "Download this page"
msgstr "Изтеглете тази страница"
msgid "Edit this page"
msgstr "Редактирайте тази страница"
msgid "By the"
msgstr "По"
msgid "Fullscreen mode"
msgstr "Режим на цял екран"
msgid "Last updated on"
msgstr "Последна актуализация на"
msgid "Launch"
msgstr "Стартиране"
msgid "Open an issue"
msgstr "Отворете проблем"
msgid "Print to PDF"
msgstr "Печат в PDF"
msgid "Source repository"
msgstr "Хранилище на източника"
msgid "Sphinx Book Theme"
msgstr "Тема на книгата Sphinx"
msgid "Theme by the"
msgstr "Тема от"
msgid "Toggle navigation"
msgstr "Превключване на навигацията"
msgid "next page"
msgstr "Следваща страница"
msgid "open issue"
msgstr "отворен брой"
msgid "previous page"
msgstr "предишна страница"
msgid "repository"
msgstr "хранилище"
msgid "suggest edit"
msgstr "предложи редактиране"

View File

@ -8,56 +8,56 @@ msgstr ""
"Language: bn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "দ্বারা"
msgid "By"
msgstr "দ্বারা"
msgid "Copyright"
msgstr "কপিরাইট"
msgid "Download notebook file"
msgstr "নোটবুক ফাইল ডাউনলোড করুন"
msgid "Download source file"
msgstr "উত্স ফাইল ডাউনলোড করুন"
msgid "Download this page"
msgstr "এই পৃষ্ঠাটি ডাউনলোড করুন"
msgid "Edit this page"
msgstr "এই পৃষ্ঠাটি সম্পাদনা করুন"
msgid "Last updated on"
msgstr "সর্বশেষ আপডেট"
msgid "Launch"
msgstr "শুরু করা"
msgid "Open an issue"
msgstr "একটি সমস্যা খুলুন"
msgid "Print to PDF"
msgstr "পিডিএফ প্রিন্ট করুন"
msgid "Source repository"
msgstr "উত্স সংগ্রহস্থল"
msgid "Sphinx Book Theme"
msgstr "স্পিনিক্স বুক থিম"
msgid "Theme by the"
msgstr "থিম দ্বারা"
msgid "Download source file"
msgstr "উত্স ফাইল ডাউনলোড করুন"
msgid "Toggle navigation"
msgstr "নেভিগেশন টগল করুন"
msgid "next page"
msgstr "পরবর্তী পৃষ্ঠা"
msgid "open issue"
msgstr "খোলা সমস্যা"
msgid "previous page"
msgstr "আগের পৃষ্ঠা"
msgid "Download notebook file"
msgstr "নোটবুক ফাইল ডাউনলোড করুন"
msgid "Copyright"
msgstr "কপিরাইট"
msgid "Download this page"
msgstr "এই পৃষ্ঠাটি ডাউনলোড করুন"
msgid "Source repository"
msgstr "উত্স সংগ্রহস্থল"
msgid "By"
msgstr "দ্বারা"
msgid "Last updated on"
msgstr "সর্বশেষ আপডেট"
msgid "Toggle navigation"
msgstr "নেভিগেশন টগল করুন"
msgid "Sphinx Book Theme"
msgstr "স্পিনিক্স বুক থিম"
msgid "Open an issue"
msgstr "একটি সমস্যা খুলুন"
msgid "Launch"
msgstr "শুরু করা"
msgid "Edit this page"
msgstr "এই পৃষ্ঠাটি সম্পাদনা করুন"
msgid "By the"
msgstr "দ্বারা"
msgid "next page"
msgstr "পরবর্তী পৃষ্ঠা"

View File

@ -8,14 +8,53 @@ msgstr ""
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "Per la"
msgid "By"
msgstr "Per"
msgid "Copyright"
msgstr "Copyright"
msgid "Download notebook file"
msgstr "Descarregar fitxer de quadern"
msgid "Download source file"
msgstr "Baixeu el fitxer font"
msgid "Download this page"
msgstr "Descarregueu aquesta pàgina"
msgid "Edit this page"
msgstr "Editeu aquesta pàgina"
msgid "Last updated on"
msgstr "Darrera actualització el"
msgid "Launch"
msgstr "Llançament"
msgid "Open an issue"
msgstr "Obriu un número"
msgid "Print to PDF"
msgstr "Imprimeix a PDF"
msgid "Source repository"
msgstr "Dipòsit de fonts"
msgid "Sphinx Book Theme"
msgstr "Tema del llibre Esfinx"
msgid "Theme by the"
msgstr "Tema del"
msgid "Download source file"
msgstr "Baixeu el fitxer font"
msgid "Toggle navigation"
msgstr "Commuta la navegació"
msgid "next page"
msgstr "pàgina següent"
msgid "open issue"
msgstr "número obert"
@ -23,44 +62,5 @@ msgstr "número obert"
msgid "previous page"
msgstr "Pàgina anterior"
msgid "Download notebook file"
msgstr "Descarregar fitxer de quadern"
msgid "Copyright"
msgstr "Copyright"
msgid "Download this page"
msgstr "Descarregueu aquesta pàgina"
msgid "Source repository"
msgstr "Dipòsit de fonts"
msgid "By"
msgstr "Per"
msgid "Last updated on"
msgstr "Darrera actualització el"
msgid "Toggle navigation"
msgstr "Commuta la navegació"
msgid "Sphinx Book Theme"
msgstr "Tema del llibre Esfinx"
msgid "suggest edit"
msgstr "suggerir edició"
msgid "Open an issue"
msgstr "Obriu un número"
msgid "Launch"
msgstr "Llançament"
msgid "Edit this page"
msgstr "Editeu aquesta pàgina"
msgid "By the"
msgstr "Per la"
msgid "next page"
msgstr "pàgina següent"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: cs\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Tisk do PDF"
msgid "Theme by the"
msgstr "Téma od"
msgid "Download source file"
msgstr "Stáhněte si zdrojový soubor"
msgid "open issue"
msgstr "otevřené číslo"
msgid "Contents"
msgstr "Obsah"
msgid "previous page"
msgstr "předchozí stránka"
msgid "Download notebook file"
msgstr "Stáhnout soubor poznámkového bloku"
msgid "Copyright"
msgstr "autorská práva"
msgid "Download this page"
msgstr "Stáhněte si tuto stránku"
msgid "Source repository"
msgstr "Zdrojové úložiště"
msgid "By the"
msgstr "Podle"
msgid "By"
msgstr "Podle"
msgid "repository"
msgstr "úložiště"
msgid "Contents"
msgstr "Obsah"
msgid "Last updated on"
msgstr "Naposledy aktualizováno"
msgid "Copyright"
msgstr "autorská práva"
msgid "Toggle navigation"
msgstr "Přepnout navigaci"
msgid "Download notebook file"
msgstr "Stáhnout soubor poznámkového bloku"
msgid "Sphinx Book Theme"
msgstr "Téma knihy Sfinga"
msgid "Download source file"
msgstr "Stáhněte si zdrojový soubor"
msgid "suggest edit"
msgstr "navrhnout úpravy"
msgid "Open an issue"
msgstr "Otevřete problém"
msgid "Launch"
msgstr "Zahájení"
msgid "Fullscreen mode"
msgstr "Režim celé obrazovky"
msgid "Download this page"
msgstr "Stáhněte si tuto stránku"
msgid "Edit this page"
msgstr "Upravit tuto stránku"
msgid "By the"
msgstr "Podle"
msgid "Fullscreen mode"
msgstr "Režim celé obrazovky"
msgid "Last updated on"
msgstr "Naposledy aktualizováno"
msgid "Launch"
msgstr "Zahájení"
msgid "Open an issue"
msgstr "Otevřete problém"
msgid "Print to PDF"
msgstr "Tisk do PDF"
msgid "Source repository"
msgstr "Zdrojové úložiště"
msgid "Sphinx Book Theme"
msgstr "Téma knihy Sfinga"
msgid "Theme by the"
msgstr "Téma od"
msgid "Toggle navigation"
msgstr "Přepnout navigaci"
msgid "next page"
msgstr "další strana"
msgid "open issue"
msgstr "otevřené číslo"
msgid "previous page"
msgstr "předchozí stránka"
msgid "repository"
msgstr "úložiště"
msgid "suggest edit"
msgstr "navrhnout úpravy"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Udskriv til PDF"
msgid "Theme by the"
msgstr "Tema af"
msgid "Download source file"
msgstr "Download kildefil"
msgid "open issue"
msgstr "åbent nummer"
msgid "Contents"
msgstr "Indhold"
msgid "previous page"
msgstr "forrige side"
msgid "Download notebook file"
msgstr "Download notesbog-fil"
msgid "Copyright"
msgstr "ophavsret"
msgid "Download this page"
msgstr "Download denne side"
msgid "Source repository"
msgstr "Kildelager"
msgid "By the"
msgstr "Ved"
msgid "By"
msgstr "Ved"
msgid "repository"
msgstr "lager"
msgid "Contents"
msgstr "Indhold"
msgid "Last updated on"
msgstr "Sidst opdateret den"
msgid "Copyright"
msgstr "ophavsret"
msgid "Toggle navigation"
msgstr "Skift navigation"
msgid "Download notebook file"
msgstr "Download notesbog-fil"
msgid "Sphinx Book Theme"
msgstr "Sphinx bogtema"
msgid "Download source file"
msgstr "Download kildefil"
msgid "suggest edit"
msgstr "foreslå redigering"
msgid "Open an issue"
msgstr "Åbn et problem"
msgid "Launch"
msgstr "Start"
msgid "Fullscreen mode"
msgstr "Fuldskærmstilstand"
msgid "Download this page"
msgstr "Download denne side"
msgid "Edit this page"
msgstr "Rediger denne side"
msgid "By the"
msgstr "Ved"
msgid "Fullscreen mode"
msgstr "Fuldskærmstilstand"
msgid "Last updated on"
msgstr "Sidst opdateret den"
msgid "Launch"
msgstr "Start"
msgid "Open an issue"
msgstr "Åbn et problem"
msgid "Print to PDF"
msgstr "Udskriv til PDF"
msgid "Source repository"
msgstr "Kildelager"
msgid "Sphinx Book Theme"
msgstr "Sphinx bogtema"
msgid "Theme by the"
msgstr "Tema af"
msgid "Toggle navigation"
msgstr "Skift navigation"
msgid "next page"
msgstr "Næste side"
msgid "open issue"
msgstr "åbent nummer"
msgid "previous page"
msgstr "forrige side"
msgid "repository"
msgstr "lager"
msgid "suggest edit"
msgstr "foreslå redigering"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "In PDF drucken"
msgid "Theme by the"
msgstr "Thema von der"
msgid "Download source file"
msgstr "Quelldatei herunterladen"
msgid "open issue"
msgstr "offenes Thema"
msgid "Contents"
msgstr "Inhalt"
msgid "previous page"
msgstr "vorherige Seite"
msgid "Download notebook file"
msgstr "Notebook-Datei herunterladen"
msgid "Copyright"
msgstr "Urheberrechte ©"
msgid "Download this page"
msgstr "Laden Sie diese Seite herunter"
msgid "Source repository"
msgstr "Quell-Repository"
msgid "By the"
msgstr "Bis zum"
msgid "By"
msgstr "Durch"
msgid "repository"
msgstr "Repository"
msgid "Contents"
msgstr "Inhalt"
msgid "Last updated on"
msgstr "Zuletzt aktualisiert am"
msgid "Copyright"
msgstr "Urheberrechte ©"
msgid "Toggle navigation"
msgstr "Navigation umschalten"
msgid "Download notebook file"
msgstr "Notebook-Datei herunterladen"
msgid "Sphinx Book Theme"
msgstr "Sphinx-Buch-Thema"
msgid "Download source file"
msgstr "Quelldatei herunterladen"
msgid "suggest edit"
msgstr "vorschlagen zu bearbeiten"
msgid "Open an issue"
msgstr "Öffnen Sie ein Problem"
msgid "Launch"
msgstr "Starten"
msgid "Fullscreen mode"
msgstr "Vollbildmodus"
msgid "Download this page"
msgstr "Laden Sie diese Seite herunter"
msgid "Edit this page"
msgstr "Bearbeite diese Seite"
msgid "By the"
msgstr "Bis zum"
msgid "Fullscreen mode"
msgstr "Vollbildmodus"
msgid "Last updated on"
msgstr "Zuletzt aktualisiert am"
msgid "Launch"
msgstr "Starten"
msgid "Open an issue"
msgstr "Öffnen Sie ein Problem"
msgid "Print to PDF"
msgstr "In PDF drucken"
msgid "Source repository"
msgstr "Quell-Repository"
msgid "Sphinx Book Theme"
msgstr "Sphinx-Buch-Thema"
msgid "Theme by the"
msgstr "Thema von der"
msgid "Toggle navigation"
msgstr "Navigation umschalten"
msgid "next page"
msgstr "Nächste Seite"
msgid "open issue"
msgstr "offenes Thema"
msgid "previous page"
msgstr "vorherige Seite"
msgid "repository"
msgstr "Repository"
msgid "suggest edit"
msgstr "vorschlagen zu bearbeiten"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Εκτύπωση σε PDF"
msgid "Theme by the"
msgstr "Θέμα από το"
msgid "Download source file"
msgstr "Λήψη αρχείου προέλευσης"
msgid "open issue"
msgstr "ανοιχτό ζήτημα"
msgid "Contents"
msgstr "Περιεχόμενα"
msgid "previous page"
msgstr "προηγούμενη σελίδα"
msgid "Download notebook file"
msgstr "Λήψη αρχείου σημειωματάριου"
msgid "Copyright"
msgstr "Πνευματική ιδιοκτησία"
msgid "Download this page"
msgstr "Λήψη αυτής της σελίδας"
msgid "Source repository"
msgstr "Αποθήκη πηγής"
msgid "By the"
msgstr "Από το"
msgid "By"
msgstr "Με"
msgid "repository"
msgstr "αποθήκη"
msgid "Contents"
msgstr "Περιεχόμενα"
msgid "Last updated on"
msgstr "Τελευταία ενημέρωση στις"
msgid "Copyright"
msgstr "Πνευματική ιδιοκτησία"
msgid "Toggle navigation"
msgstr "Εναλλαγή πλοήγησης"
msgid "Download notebook file"
msgstr "Λήψη αρχείου σημειωματάριου"
msgid "Sphinx Book Theme"
msgstr "Θέμα βιβλίου Sphinx"
msgid "Download source file"
msgstr "Λήψη αρχείου προέλευσης"
msgid "suggest edit"
msgstr "προτείνω επεξεργασία"
msgid "Open an issue"
msgstr "Ανοίξτε ένα ζήτημα"
msgid "Launch"
msgstr "Εκτόξευση"
msgid "Fullscreen mode"
msgstr "ΛΕΙΤΟΥΡΓΙΑ ΠΛΗΡΟΥΣ ΟΘΟΝΗΣ"
msgid "Download this page"
msgstr "Λήψη αυτής της σελίδας"
msgid "Edit this page"
msgstr "Επεξεργαστείτε αυτήν τη σελίδα"
msgid "By the"
msgstr "Από το"
msgid "Fullscreen mode"
msgstr "ΛΕΙΤΟΥΡΓΙΑ ΠΛΗΡΟΥΣ ΟΘΟΝΗΣ"
msgid "Last updated on"
msgstr "Τελευταία ενημέρωση στις"
msgid "Launch"
msgstr "Εκτόξευση"
msgid "Open an issue"
msgstr "Ανοίξτε ένα ζήτημα"
msgid "Print to PDF"
msgstr "Εκτύπωση σε PDF"
msgid "Source repository"
msgstr "Αποθήκη πηγής"
msgid "Sphinx Book Theme"
msgstr "Θέμα βιβλίου Sphinx"
msgid "Theme by the"
msgstr "Θέμα από το"
msgid "Toggle navigation"
msgstr "Εναλλαγή πλοήγησης"
msgid "next page"
msgstr "επόμενη σελίδα"
msgid "open issue"
msgstr "ανοιχτό ζήτημα"
msgid "previous page"
msgstr "προηγούμενη σελίδα"
msgid "repository"
msgstr "αποθήκη"
msgid "suggest edit"
msgstr "προτείνω επεξεργασία"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Presi al PDF"
msgid "Theme by the"
msgstr "Temo de la"
msgid "Download source file"
msgstr "Elŝutu fontodosieron"
msgid "open issue"
msgstr "malferma numero"
msgid "Contents"
msgstr "Enhavo"
msgid "previous page"
msgstr "antaŭa paĝo"
msgid "Download notebook file"
msgstr "Elŝutu kajeran dosieron"
msgid "Copyright"
msgstr "Kopirajto"
msgid "Download this page"
msgstr "Elŝutu ĉi tiun paĝon"
msgid "Source repository"
msgstr "Fonto-deponejo"
msgid "By the"
msgstr "Per la"
msgid "By"
msgstr "De"
msgid "repository"
msgstr "deponejo"
msgid "Contents"
msgstr "Enhavo"
msgid "Last updated on"
msgstr "Laste ĝisdatigita la"
msgid "Copyright"
msgstr "Kopirajto"
msgid "Toggle navigation"
msgstr "Ŝalti navigadon"
msgid "Download notebook file"
msgstr "Elŝutu kajeran dosieron"
msgid "Sphinx Book Theme"
msgstr "Sfinksa Libro-Temo"
msgid "Download source file"
msgstr "Elŝutu fontodosieron"
msgid "suggest edit"
msgstr "sugesti redaktadon"
msgid "Open an issue"
msgstr "Malfermu numeron"
msgid "Launch"
msgstr "Lanĉo"
msgid "Fullscreen mode"
msgstr "Plenekrana reĝimo"
msgid "Download this page"
msgstr "Elŝutu ĉi tiun paĝon"
msgid "Edit this page"
msgstr "Redaktu ĉi tiun paĝon"
msgid "By the"
msgstr "Per la"
msgid "Fullscreen mode"
msgstr "Plenekrana reĝimo"
msgid "Last updated on"
msgstr "Laste ĝisdatigita la"
msgid "Launch"
msgstr "Lanĉo"
msgid "Open an issue"
msgstr "Malfermu numeron"
msgid "Print to PDF"
msgstr "Presi al PDF"
msgid "Source repository"
msgstr "Fonto-deponejo"
msgid "Sphinx Book Theme"
msgstr "Sfinksa Libro-Temo"
msgid "Theme by the"
msgstr "Temo de la"
msgid "Toggle navigation"
msgstr "Ŝalti navigadon"
msgid "next page"
msgstr "sekva paĝo"
msgid "open issue"
msgstr "malferma numero"
msgid "previous page"
msgstr "antaŭa paĝo"
msgid "repository"
msgstr "deponejo"
msgid "suggest edit"
msgstr "sugesti redaktadon"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Imprimir en PDF"
msgid "Theme by the"
msgstr "Tema por el"
msgid "Download source file"
msgstr "Descargar archivo fuente"
msgid "open issue"
msgstr "Tema abierto"
msgid "Contents"
msgstr "Contenido"
msgid "previous page"
msgstr "pagina anterior"
msgid "Download notebook file"
msgstr "Descargar archivo de cuaderno"
msgid "Copyright"
msgstr "Derechos de autor"
msgid "Download this page"
msgstr "Descarga esta pagina"
msgid "Source repository"
msgstr "Repositorio de origen"
msgid "By the"
msgstr "Por el"
msgid "By"
msgstr "Por"
msgid "repository"
msgstr "repositorio"
msgid "Contents"
msgstr "Contenido"
msgid "Last updated on"
msgstr "Ultima actualización en"
msgid "Copyright"
msgstr "Derechos de autor"
msgid "Toggle navigation"
msgstr "Navegación de palanca"
msgid "Download notebook file"
msgstr "Descargar archivo de cuaderno"
msgid "Sphinx Book Theme"
msgstr "Tema del libro de la esfinge"
msgid "Download source file"
msgstr "Descargar archivo fuente"
msgid "suggest edit"
msgstr "sugerir editar"
msgid "Open an issue"
msgstr "Abrir un problema"
msgid "Launch"
msgstr "Lanzamiento"
msgid "Fullscreen mode"
msgstr "Modo de pantalla completa"
msgid "Download this page"
msgstr "Descarga esta pagina"
msgid "Edit this page"
msgstr "Edita esta página"
msgid "By the"
msgstr "Por el"
msgid "Fullscreen mode"
msgstr "Modo de pantalla completa"
msgid "Last updated on"
msgstr "Ultima actualización en"
msgid "Launch"
msgstr "Lanzamiento"
msgid "Open an issue"
msgstr "Abrir un problema"
msgid "Print to PDF"
msgstr "Imprimir en PDF"
msgid "Source repository"
msgstr "Repositorio de origen"
msgid "Sphinx Book Theme"
msgstr "Tema del libro de la esfinge"
msgid "Theme by the"
msgstr "Tema por el"
msgid "Toggle navigation"
msgstr "Navegación de palanca"
msgid "next page"
msgstr "siguiente página"
msgid "open issue"
msgstr "Tema abierto"
msgid "previous page"
msgstr "pagina anterior"
msgid "repository"
msgstr "repositorio"
msgid "suggest edit"
msgstr "sugerir editar"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Prindi PDF-i"
msgid "Theme by the"
msgstr "Teema"
msgid "Download source file"
msgstr "Laadige alla lähtefail"
msgid "open issue"
msgstr "avatud küsimus"
msgid "Contents"
msgstr "Sisu"
msgid "previous page"
msgstr "eelmine leht"
msgid "Download notebook file"
msgstr "Laadige sülearvuti fail alla"
msgid "Copyright"
msgstr "Autoriõigus"
msgid "Download this page"
msgstr "Laadige see leht alla"
msgid "Source repository"
msgstr "Allikahoidla"
msgid "By the"
msgstr "Autor"
msgid "By"
msgstr "Kõrval"
msgid "repository"
msgstr "hoidla"
msgid "Contents"
msgstr "Sisu"
msgid "Last updated on"
msgstr "Viimati uuendatud"
msgid "Copyright"
msgstr "Autoriõigus"
msgid "Toggle navigation"
msgstr "Lülita navigeerimine sisse"
msgid "Download notebook file"
msgstr "Laadige sülearvuti fail alla"
msgid "Sphinx Book Theme"
msgstr "Sfinksiraamatu teema"
msgid "Download source file"
msgstr "Laadige alla lähtefail"
msgid "suggest edit"
msgstr "soovita muuta"
msgid "Open an issue"
msgstr "Avage probleem"
msgid "Launch"
msgstr "Käivitage"
msgid "Fullscreen mode"
msgstr "Täisekraanirežiim"
msgid "Download this page"
msgstr "Laadige see leht alla"
msgid "Edit this page"
msgstr "Muutke seda lehte"
msgid "By the"
msgstr "Autor"
msgid "Fullscreen mode"
msgstr "Täisekraanirežiim"
msgid "Last updated on"
msgstr "Viimati uuendatud"
msgid "Launch"
msgstr "Käivitage"
msgid "Open an issue"
msgstr "Avage probleem"
msgid "Print to PDF"
msgstr "Prindi PDF-i"
msgid "Source repository"
msgstr "Allikahoidla"
msgid "Sphinx Book Theme"
msgstr "Sfinksiraamatu teema"
msgid "Theme by the"
msgstr "Teema"
msgid "Toggle navigation"
msgstr "Lülita navigeerimine sisse"
msgid "next page"
msgstr "järgmine leht"
msgid "open issue"
msgstr "avatud küsimus"
msgid "previous page"
msgstr "eelmine leht"
msgid "repository"
msgstr "hoidla"
msgid "suggest edit"
msgstr "soovita muuta"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Tulosta PDF-tiedostoon"
msgid "Theme by the"
msgstr "Teeman tekijä"
msgid "Download source file"
msgstr "Lataa lähdetiedosto"
msgid "open issue"
msgstr "avoin ongelma"
msgid "Contents"
msgstr "Sisällys"
msgid "previous page"
msgstr "Edellinen sivu"
msgid "Download notebook file"
msgstr "Lataa muistikirjatiedosto"
msgid "Copyright"
msgstr "Tekijänoikeus"
msgid "Download this page"
msgstr "Lataa tämä sivu"
msgid "Source repository"
msgstr "Lähteen arkisto"
msgid "By the"
msgstr "Mukaan"
msgid "By"
msgstr "Tekijä"
msgid "repository"
msgstr "arkisto"
msgid "Contents"
msgstr "Sisällys"
msgid "Last updated on"
msgstr "Viimeksi päivitetty"
msgid "Copyright"
msgstr "Tekijänoikeus"
msgid "Toggle navigation"
msgstr "Vaihda navigointia"
msgid "Download notebook file"
msgstr "Lataa muistikirjatiedosto"
msgid "Sphinx Book Theme"
msgstr "Sphinx-kirjan teema"
msgid "Download source file"
msgstr "Lataa lähdetiedosto"
msgid "suggest edit"
msgstr "ehdottaa muokkausta"
msgid "Open an issue"
msgstr "Avaa ongelma"
msgid "Launch"
msgstr "Tuoda markkinoille"
msgid "Fullscreen mode"
msgstr "Koko näytön tila"
msgid "Download this page"
msgstr "Lataa tämä sivu"
msgid "Edit this page"
msgstr "Muokkaa tätä sivua"
msgid "By the"
msgstr "Mukaan"
msgid "Fullscreen mode"
msgstr "Koko näytön tila"
msgid "Last updated on"
msgstr "Viimeksi päivitetty"
msgid "Launch"
msgstr "Tuoda markkinoille"
msgid "Open an issue"
msgstr "Avaa ongelma"
msgid "Print to PDF"
msgstr "Tulosta PDF-tiedostoon"
msgid "Source repository"
msgstr "Lähteen arkisto"
msgid "Sphinx Book Theme"
msgstr "Sphinx-kirjan teema"
msgid "Theme by the"
msgstr "Teeman tekijä"
msgid "Toggle navigation"
msgstr "Vaihda navigointia"
msgid "next page"
msgstr "seuraava sivu"
msgid "open issue"
msgstr "avoin ongelma"
msgid "previous page"
msgstr "Edellinen sivu"
msgid "repository"
msgstr "arkisto"
msgid "suggest edit"
msgstr "ehdottaa muokkausta"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Imprimer au format PDF"
msgid "Theme by the"
msgstr "Thème par le"
msgid "Download source file"
msgstr "Télécharger le fichier source"
msgid "open issue"
msgstr "signaler un problème"
msgid "Contents"
msgstr "Contenu"
msgid "previous page"
msgstr "page précédente"
msgid "Download notebook file"
msgstr "Télécharger le fichier notebook"
msgid "Copyright"
msgstr "droits d'auteur"
msgid "Download this page"
msgstr "Téléchargez cette page"
msgid "Source repository"
msgstr "Dépôt source"
msgid "By the"
msgstr "Par le"
msgid "By"
msgstr "Par"
msgid "repository"
msgstr "dépôt"
msgid "Contents"
msgstr "Contenu"
msgid "Last updated on"
msgstr "Dernière mise à jour le"
msgid "Copyright"
msgstr "droits d'auteur"
msgid "Toggle navigation"
msgstr "Basculer la navigation"
msgid "Download notebook file"
msgstr "Télécharger le fichier notebook"
msgid "Sphinx Book Theme"
msgstr "Thème du livre Sphinx"
msgid "Download source file"
msgstr "Télécharger le fichier source"
msgid "suggest edit"
msgstr "suggestion de modification"
msgid "Open an issue"
msgstr "Ouvrez un problème"
msgid "Launch"
msgstr "lancement"
msgid "Fullscreen mode"
msgstr "Mode plein écran"
msgid "Download this page"
msgstr "Téléchargez cette page"
msgid "Edit this page"
msgstr "Modifier cette page"
msgid "By the"
msgstr "Par le"
msgid "Fullscreen mode"
msgstr "Mode plein écran"
msgid "Last updated on"
msgstr "Dernière mise à jour le"
msgid "Launch"
msgstr "lancement"
msgid "Open an issue"
msgstr "Ouvrez un problème"
msgid "Print to PDF"
msgstr "Imprimer au format PDF"
msgid "Source repository"
msgstr "Dépôt source"
msgid "Sphinx Book Theme"
msgstr "Thème du livre Sphinx"
msgid "Theme by the"
msgstr "Thème par le"
msgid "Toggle navigation"
msgstr "Basculer la navigation"
msgid "next page"
msgstr "page suivante"
msgid "open issue"
msgstr "signaler un problème"
msgid "previous page"
msgstr "page précédente"
msgid "repository"
msgstr "dépôt"
msgid "suggest edit"
msgstr "suggestion de modification"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: hr\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Ispis u PDF"
msgid "Theme by the"
msgstr "Tema autora"
msgid "Download source file"
msgstr "Preuzmi izvornu datoteku"
msgid "open issue"
msgstr "otvoreno izdanje"
msgid "Contents"
msgstr "Sadržaj"
msgid "previous page"
msgstr "Prethodna stranica"
msgid "Download notebook file"
msgstr "Preuzmi datoteku bilježnice"
msgid "Copyright"
msgstr "Autorska prava"
msgid "Download this page"
msgstr "Preuzmite ovu stranicu"
msgid "Source repository"
msgstr "Izvorno spremište"
msgid "By the"
msgstr "Od strane"
msgid "By"
msgstr "Po"
msgid "repository"
msgstr "spremište"
msgid "Contents"
msgstr "Sadržaj"
msgid "Last updated on"
msgstr "Posljednje ažuriranje:"
msgid "Copyright"
msgstr "Autorska prava"
msgid "Toggle navigation"
msgstr "Uključi / isključi navigaciju"
msgid "Download notebook file"
msgstr "Preuzmi datoteku bilježnice"
msgid "Sphinx Book Theme"
msgstr "Tema knjige Sphinx"
msgid "Download source file"
msgstr "Preuzmi izvornu datoteku"
msgid "suggest edit"
msgstr "predloži uređivanje"
msgid "Open an issue"
msgstr "Otvorite izdanje"
msgid "Launch"
msgstr "Pokrenite"
msgid "Fullscreen mode"
msgstr "Način preko cijelog zaslona"
msgid "Download this page"
msgstr "Preuzmite ovu stranicu"
msgid "Edit this page"
msgstr "Uredite ovu stranicu"
msgid "By the"
msgstr "Od strane"
msgid "Fullscreen mode"
msgstr "Način preko cijelog zaslona"
msgid "Last updated on"
msgstr "Posljednje ažuriranje:"
msgid "Launch"
msgstr "Pokrenite"
msgid "Open an issue"
msgstr "Otvorite izdanje"
msgid "Print to PDF"
msgstr "Ispis u PDF"
msgid "Source repository"
msgstr "Izvorno spremište"
msgid "Sphinx Book Theme"
msgstr "Tema knjige Sphinx"
msgid "Theme by the"
msgstr "Tema autora"
msgid "Toggle navigation"
msgstr "Uključi / isključi navigaciju"
msgid "next page"
msgstr "sljedeća stranica"
msgid "open issue"
msgstr "otvoreno izdanje"
msgid "previous page"
msgstr "Prethodna stranica"
msgid "repository"
msgstr "spremište"
msgid "suggest edit"
msgstr "predloži uređivanje"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: id\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Cetak ke PDF"
msgid "Theme by the"
msgstr "Tema oleh"
msgid "Download source file"
msgstr "Unduh file sumber"
msgid "open issue"
msgstr "masalah terbuka"
msgid "Contents"
msgstr "Isi"
msgid "previous page"
msgstr "halaman sebelumnya"
msgid "Download notebook file"
msgstr "Unduh file notebook"
msgid "Copyright"
msgstr "hak cipta"
msgid "Download this page"
msgstr "Unduh halaman ini"
msgid "Source repository"
msgstr "Repositori sumber"
msgid "By the"
msgstr "Oleh"
msgid "By"
msgstr "Oleh"
msgid "repository"
msgstr "gudang"
msgid "Contents"
msgstr "Isi"
msgid "Last updated on"
msgstr "Terakhir diperbarui saat"
msgid "Copyright"
msgstr "hak cipta"
msgid "Toggle navigation"
msgstr "Alihkan navigasi"
msgid "Download notebook file"
msgstr "Unduh file notebook"
msgid "Sphinx Book Theme"
msgstr "Tema Buku Sphinx"
msgid "Download source file"
msgstr "Unduh file sumber"
msgid "suggest edit"
msgstr "menyarankan edit"
msgid "Open an issue"
msgstr "Buka masalah"
msgid "Launch"
msgstr "Meluncurkan"
msgid "Fullscreen mode"
msgstr "Mode layar penuh"
msgid "Download this page"
msgstr "Unduh halaman ini"
msgid "Edit this page"
msgstr "Edit halaman ini"
msgid "By the"
msgstr "Oleh"
msgid "Fullscreen mode"
msgstr "Mode layar penuh"
msgid "Last updated on"
msgstr "Terakhir diperbarui saat"
msgid "Launch"
msgstr "Meluncurkan"
msgid "Open an issue"
msgstr "Buka masalah"
msgid "Print to PDF"
msgstr "Cetak ke PDF"
msgid "Source repository"
msgstr "Repositori sumber"
msgid "Sphinx Book Theme"
msgstr "Tema Buku Sphinx"
msgid "Theme by the"
msgstr "Tema oleh"
msgid "Toggle navigation"
msgstr "Alihkan navigasi"
msgid "next page"
msgstr "halaman selanjutnya"
msgid "open issue"
msgstr "masalah terbuka"
msgid "previous page"
msgstr "halaman sebelumnya"
msgid "repository"
msgstr "gudang"
msgid "suggest edit"
msgstr "menyarankan edit"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Stampa in PDF"
msgid "Theme by the"
msgstr "Tema di"
msgid "Download source file"
msgstr "Scarica il file sorgente"
msgid "open issue"
msgstr "questione aperta"
msgid "Contents"
msgstr "Contenuti"
msgid "previous page"
msgstr "pagina precedente"
msgid "Download notebook file"
msgstr "Scarica il file del taccuino"
msgid "Copyright"
msgstr "Diritto d'autore"
msgid "Download this page"
msgstr "Scarica questa pagina"
msgid "Source repository"
msgstr "Repository di origine"
msgid "By the"
msgstr "Dal"
msgid "By"
msgstr "Di"
msgid "repository"
msgstr "repository"
msgid "Contents"
msgstr "Contenuti"
msgid "Last updated on"
msgstr "Ultimo aggiornamento il"
msgid "Copyright"
msgstr "Diritto d'autore"
msgid "Toggle navigation"
msgstr "Attiva / disattiva la navigazione"
msgid "Download notebook file"
msgstr "Scarica il file del taccuino"
msgid "Sphinx Book Theme"
msgstr "Tema del libro della Sfinge"
msgid "Download source file"
msgstr "Scarica il file sorgente"
msgid "suggest edit"
msgstr "suggerisci modifica"
msgid "Open an issue"
msgstr "Apri un problema"
msgid "Launch"
msgstr "Lanciare"
msgid "Fullscreen mode"
msgstr "Modalità schermo intero"
msgid "Download this page"
msgstr "Scarica questa pagina"
msgid "Edit this page"
msgstr "Modifica questa pagina"
msgid "By the"
msgstr "Dal"
msgid "Fullscreen mode"
msgstr "Modalità schermo intero"
msgid "Last updated on"
msgstr "Ultimo aggiornamento il"
msgid "Launch"
msgstr "Lanciare"
msgid "Open an issue"
msgstr "Apri un problema"
msgid "Print to PDF"
msgstr "Stampa in PDF"
msgid "Source repository"
msgstr "Repository di origine"
msgid "Sphinx Book Theme"
msgstr "Tema del libro della Sfinge"
msgid "Theme by the"
msgstr "Tema di"
msgid "Toggle navigation"
msgstr "Attiva / disattiva la navigazione"
msgid "next page"
msgstr "pagina successiva"
msgid "open issue"
msgstr "questione aperta"
msgid "previous page"
msgstr "pagina precedente"
msgid "repository"
msgstr "repository"
msgid "suggest edit"
msgstr "suggerisci modifica"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: iw\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "הדפס לקובץ PDF"
msgid "Theme by the"
msgstr "נושא מאת"
msgid "Download source file"
msgstr "הורד את קובץ המקור"
msgid "open issue"
msgstr "בעיה פתוחה"
msgid "Contents"
msgstr "תוכן"
msgid "previous page"
msgstr "עמוד קודם"
msgid "Download notebook file"
msgstr "הורד קובץ מחברת"
msgid "Copyright"
msgstr "זכויות יוצרים"
msgid "Download this page"
msgstr "הורד דף זה"
msgid "Source repository"
msgstr "מאגר המקורות"
msgid "By the"
msgstr "דרך"
msgid "By"
msgstr "על ידי"
msgid "repository"
msgstr "מאגר"
msgid "Contents"
msgstr "תוכן"
msgid "Last updated on"
msgstr "עודכן לאחרונה ב"
msgid "Copyright"
msgstr "זכויות יוצרים"
msgid "Toggle navigation"
msgstr "החלף ניווט"
msgid "Download notebook file"
msgstr "הורד קובץ מחברת"
msgid "Sphinx Book Theme"
msgstr "נושא ספר ספינקס"
msgid "Download source file"
msgstr "הורד את קובץ המקור"
msgid "suggest edit"
msgstr "מציע לערוך"
msgid "Open an issue"
msgstr "פתח גיליון"
msgid "Launch"
msgstr "לְהַשִׁיק"
msgid "Fullscreen mode"
msgstr "מצב מסך מלא"
msgid "Download this page"
msgstr "הורד דף זה"
msgid "Edit this page"
msgstr "ערוך דף זה"
msgid "By the"
msgstr "דרך"
msgid "Fullscreen mode"
msgstr "מצב מסך מלא"
msgid "Last updated on"
msgstr "עודכן לאחרונה ב"
msgid "Launch"
msgstr "לְהַשִׁיק"
msgid "Open an issue"
msgstr "פתח גיליון"
msgid "Print to PDF"
msgstr "הדפס לקובץ PDF"
msgid "Source repository"
msgstr "מאגר המקורות"
msgid "Sphinx Book Theme"
msgstr "נושא ספר ספינקס"
msgid "Theme by the"
msgstr "נושא מאת"
msgid "Toggle navigation"
msgstr "החלף ניווט"
msgid "next page"
msgstr "עמוד הבא"
msgid "open issue"
msgstr "בעיה פתוחה"
msgid "previous page"
msgstr "עמוד קודם"
msgid "repository"
msgstr "מאגר"
msgid "suggest edit"
msgstr "מציע לערוך"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: ja\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "PDFに印刷"
msgid "Theme by the"
msgstr "のテーマ"
msgid "Download source file"
msgstr "ソースファイルをダウンロード"
msgid "open issue"
msgstr "未解決の問題"
msgid "Contents"
msgstr "目次"
msgid "previous page"
msgstr "前のページ"
msgid "Download notebook file"
msgstr "ノートブックファイルをダウンロード"
msgid "Copyright"
msgstr "Copyright"
msgid "Download this page"
msgstr "このページをダウンロード"
msgid "Source repository"
msgstr "ソースリポジトリ"
msgid "By the"
msgstr "によって"
msgid "By"
msgstr "著者"
msgid "repository"
msgstr "リポジトリ"
msgid "Contents"
msgstr "目次"
msgid "Last updated on"
msgstr "最終更新日"
msgid "Copyright"
msgstr "Copyright"
msgid "Toggle navigation"
msgstr "ナビゲーションを切り替え"
msgid "Download notebook file"
msgstr "ノートブックファイルをダウンロード"
msgid "Sphinx Book Theme"
msgstr "スフィンクスの本のテーマ"
msgid "Download source file"
msgstr "ソースファイルをダウンロード"
msgid "suggest edit"
msgstr "編集を提案する"
msgid "Open an issue"
msgstr "問題を報告"
msgid "Launch"
msgstr "起動"
msgid "Fullscreen mode"
msgstr "全画面モード"
msgid "Download this page"
msgstr "このページをダウンロード"
msgid "Edit this page"
msgstr "このページを編集"
msgid "By the"
msgstr "によって"
msgid "Fullscreen mode"
msgstr "全画面モード"
msgid "Last updated on"
msgstr "最終更新日"
msgid "Launch"
msgstr "起動"
msgid "Open an issue"
msgstr "問題を報告"
msgid "Print to PDF"
msgstr "PDFに印刷"
msgid "Source repository"
msgstr "ソースリポジトリ"
msgid "Sphinx Book Theme"
msgstr "スフィンクスの本のテーマ"
msgid "Theme by the"
msgstr "のテーマ"
msgid "Toggle navigation"
msgstr "ナビゲーションを切り替え"
msgid "next page"
msgstr "次のページ"
msgid "open issue"
msgstr "未解決の問題"
msgid "previous page"
msgstr "前のページ"
msgid "repository"
msgstr "リポジトリ"
msgid "suggest edit"
msgstr "編集を提案する"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: ko\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "PDF로 인쇄"
msgid "Theme by the"
msgstr "테마별"
msgid "Download source file"
msgstr "소스 파일 다운로드"
msgid "open issue"
msgstr "열린 문제"
msgid "Contents"
msgstr "내용"
msgid "previous page"
msgstr "이전 페이지"
msgid "Download notebook file"
msgstr "노트북 파일 다운로드"
msgid "Copyright"
msgstr "저작권"
msgid "Download this page"
msgstr "이 페이지 다운로드"
msgid "Source repository"
msgstr "소스 저장소"
msgid "By the"
msgstr "에 의해"
msgid "By"
msgstr "으로"
msgid "repository"
msgstr "저장소"
msgid "Contents"
msgstr "내용"
msgid "Last updated on"
msgstr "마지막 업데이트"
msgid "Copyright"
msgstr "저작권"
msgid "Toggle navigation"
msgstr "탐색 전환"
msgid "Download notebook file"
msgstr "노트북 파일 다운로드"
msgid "Sphinx Book Theme"
msgstr "스핑크스 도서 테마"
msgid "Download source file"
msgstr "소스 파일 다운로드"
msgid "suggest edit"
msgstr "편집 제안"
msgid "Open an issue"
msgstr "이슈 열기"
msgid "Launch"
msgstr "시작하다"
msgid "Fullscreen mode"
msgstr "전체 화면으로보기"
msgid "Download this page"
msgstr "이 페이지 다운로드"
msgid "Edit this page"
msgstr "이 페이지 편집"
msgid "By the"
msgstr "에 의해"
msgid "Fullscreen mode"
msgstr "전체 화면으로보기"
msgid "Last updated on"
msgstr "마지막 업데이트"
msgid "Launch"
msgstr "시작하다"
msgid "Open an issue"
msgstr "이슈 열기"
msgid "Print to PDF"
msgstr "PDF로 인쇄"
msgid "Source repository"
msgstr "소스 저장소"
msgid "Sphinx Book Theme"
msgstr "스핑크스 도서 테마"
msgid "Theme by the"
msgstr "테마별"
msgid "Toggle navigation"
msgstr "탐색 전환"
msgid "next page"
msgstr "다음 페이지"
msgid "open issue"
msgstr "열린 문제"
msgid "previous page"
msgstr "이전 페이지"
msgid "repository"
msgstr "저장소"
msgid "suggest edit"
msgstr "편집 제안"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: lt\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Spausdinti į PDF"
msgid "Theme by the"
msgstr "Tema"
msgid "Download source file"
msgstr "Atsisiųsti šaltinio failą"
msgid "open issue"
msgstr "atviras klausimas"
msgid "Contents"
msgstr "Turinys"
msgid "previous page"
msgstr "Ankstesnis puslapis"
msgid "Download notebook file"
msgstr "Atsisiųsti nešiojamojo kompiuterio failą"
msgid "Copyright"
msgstr "Autorių teisės"
msgid "Download this page"
msgstr "Atsisiųskite šį puslapį"
msgid "Source repository"
msgstr "Šaltinio saugykla"
msgid "By the"
msgstr "Prie"
msgid "By"
msgstr "Iki"
msgid "repository"
msgstr "saugykla"
msgid "Contents"
msgstr "Turinys"
msgid "Last updated on"
msgstr "Paskutinį kartą atnaujinta"
msgid "Copyright"
msgstr "Autorių teisės"
msgid "Toggle navigation"
msgstr "Perjungti naršymą"
msgid "Download notebook file"
msgstr "Atsisiųsti nešiojamojo kompiuterio failą"
msgid "Sphinx Book Theme"
msgstr "Sfinkso knygos tema"
msgid "Download source file"
msgstr "Atsisiųsti šaltinio failą"
msgid "suggest edit"
msgstr "pasiūlyti redaguoti"
msgid "Open an issue"
msgstr "Atidarykite problemą"
msgid "Launch"
msgstr "Paleiskite"
msgid "Fullscreen mode"
msgstr "Pilno ekrano režimas"
msgid "Download this page"
msgstr "Atsisiųskite šį puslapį"
msgid "Edit this page"
msgstr "Redaguoti šį puslapį"
msgid "By the"
msgstr "Prie"
msgid "Fullscreen mode"
msgstr "Pilno ekrano režimas"
msgid "Last updated on"
msgstr "Paskutinį kartą atnaujinta"
msgid "Launch"
msgstr "Paleiskite"
msgid "Open an issue"
msgstr "Atidarykite problemą"
msgid "Print to PDF"
msgstr "Spausdinti į PDF"
msgid "Source repository"
msgstr "Šaltinio saugykla"
msgid "Sphinx Book Theme"
msgstr "Sfinkso knygos tema"
msgid "Theme by the"
msgstr "Tema"
msgid "Toggle navigation"
msgstr "Perjungti naršymą"
msgid "next page"
msgstr "Kitas puslapis"
msgid "open issue"
msgstr "atviras klausimas"
msgid "previous page"
msgstr "Ankstesnis puslapis"
msgid "repository"
msgstr "saugykla"
msgid "suggest edit"
msgstr "pasiūlyti redaguoti"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: lv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Drukāt PDF formātā"
msgid "Theme by the"
msgstr "Autora tēma"
msgid "Download source file"
msgstr "Lejupielādēt avota failu"
msgid "open issue"
msgstr "atklāts jautājums"
msgid "Contents"
msgstr "Saturs"
msgid "previous page"
msgstr "iepriekšējā lapa"
msgid "Download notebook file"
msgstr "Lejupielādēt piezīmju grāmatiņu"
msgid "Copyright"
msgstr "Autortiesības"
msgid "Download this page"
msgstr "Lejupielādējiet šo lapu"
msgid "Source repository"
msgstr "Avota krātuve"
msgid "By the"
msgstr "Ar"
msgid "By"
msgstr "Autors"
msgid "repository"
msgstr "krātuve"
msgid "Contents"
msgstr "Saturs"
msgid "Last updated on"
msgstr "Pēdējoreiz atjaunināts"
msgid "Copyright"
msgstr "Autortiesības"
msgid "Toggle navigation"
msgstr "Pārslēgt navigāciju"
msgid "Download notebook file"
msgstr "Lejupielādēt piezīmju grāmatiņu"
msgid "Sphinx Book Theme"
msgstr "Sfinksa grāmatas tēma"
msgid "Download source file"
msgstr "Lejupielādēt avota failu"
msgid "suggest edit"
msgstr "ieteikt rediģēt"
msgid "Open an issue"
msgstr "Atveriet problēmu"
msgid "Launch"
msgstr "Uzsākt"
msgid "Fullscreen mode"
msgstr "Pilnekrāna režīms"
msgid "Download this page"
msgstr "Lejupielādējiet šo lapu"
msgid "Edit this page"
msgstr "Rediģēt šo lapu"
msgid "By the"
msgstr "Ar"
msgid "Fullscreen mode"
msgstr "Pilnekrāna režīms"
msgid "Last updated on"
msgstr "Pēdējoreiz atjaunināts"
msgid "Launch"
msgstr "Uzsākt"
msgid "Open an issue"
msgstr "Atveriet problēmu"
msgid "Print to PDF"
msgstr "Drukāt PDF formātā"
msgid "Source repository"
msgstr "Avota krātuve"
msgid "Sphinx Book Theme"
msgstr "Sfinksa grāmatas tēma"
msgid "Theme by the"
msgstr "Autora tēma"
msgid "Toggle navigation"
msgstr "Pārslēgt navigāciju"
msgid "next page"
msgstr "nākamā lapaspuse"
msgid "open issue"
msgstr "atklāts jautājums"
msgid "previous page"
msgstr "iepriekšējā lapa"
msgid "repository"
msgstr "krātuve"
msgid "suggest edit"
msgstr "ieteikt rediģēt"

View File

@ -8,14 +8,53 @@ msgstr ""
"Language: ml\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "എഴുതിയത്"
msgid "By"
msgstr "എഴുതിയത്"
msgid "Copyright"
msgstr "പകർപ്പവകാശം"
msgid "Download notebook file"
msgstr "നോട്ട്ബുക്ക് ഫയൽ ഡൺലോഡ് ചെയ്യുക"
msgid "Download source file"
msgstr "ഉറവിട ഫയൽ ഡൗൺലോഡുചെയ്യുക"
msgid "Download this page"
msgstr "ഈ പേജ് ഡൗൺലോഡുചെയ്യുക"
msgid "Edit this page"
msgstr "ഈ പേജ് എഡിറ്റുചെയ്യുക"
msgid "Last updated on"
msgstr "അവസാനം അപ്‌ഡേറ്റുചെയ്‌തത്"
msgid "Launch"
msgstr "സമാരംഭിക്കുക"
msgid "Open an issue"
msgstr "ഒരു പ്രശ്നം തുറക്കുക"
msgid "Print to PDF"
msgstr "PDF- ലേക്ക് പ്രിന്റുചെയ്യുക"
msgid "Source repository"
msgstr "ഉറവിട ശേഖരം"
msgid "Sphinx Book Theme"
msgstr "സ്ഫിങ്ക്സ് പുസ്തക തീം"
msgid "Theme by the"
msgstr "പ്രമേയം"
msgid "Download source file"
msgstr "ഉറവിട ഫയൽ ഡൗൺലോഡുചെയ്യുക"
msgid "Toggle navigation"
msgstr "നാവിഗേഷൻ ടോഗിൾ ചെയ്യുക"
msgid "next page"
msgstr "അടുത്ത പേജ്"
msgid "open issue"
msgstr "തുറന്ന പ്രശ്നം"
@ -23,44 +62,5 @@ msgstr "തുറന്ന പ്രശ്നം"
msgid "previous page"
msgstr "മുൻപത്തെ താൾ"
msgid "Download notebook file"
msgstr "നോട്ട്ബുക്ക് ഫയൽ ഡൺലോഡ് ചെയ്യുക"
msgid "Copyright"
msgstr "പകർപ്പവകാശം"
msgid "Download this page"
msgstr "ഈ പേജ് ഡൗൺലോഡുചെയ്യുക"
msgid "Source repository"
msgstr "ഉറവിട ശേഖരം"
msgid "By"
msgstr "എഴുതിയത്"
msgid "Last updated on"
msgstr "അവസാനം അപ്‌ഡേറ്റുചെയ്‌തത്"
msgid "Toggle navigation"
msgstr "നാവിഗേഷൻ ടോഗിൾ ചെയ്യുക"
msgid "Sphinx Book Theme"
msgstr "സ്ഫിങ്ക്സ് പുസ്തക തീം"
msgid "suggest edit"
msgstr "എഡിറ്റുചെയ്യാൻ നിർദ്ദേശിക്കുക"
msgid "Open an issue"
msgstr "ഒരു പ്രശ്നം തുറക്കുക"
msgid "Launch"
msgstr "സമാരംഭിക്കുക"
msgid "Edit this page"
msgstr "ഈ പേജ് എഡിറ്റുചെയ്യുക"
msgid "By the"
msgstr "എഴുതിയത്"
msgid "next page"
msgstr "അടുത്ത പേജ്"

View File

@ -8,14 +8,53 @@ msgstr ""
"Language: mr\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "द्वारा"
msgid "By"
msgstr "द्वारा"
msgid "Copyright"
msgstr "कॉपीराइट"
msgid "Download notebook file"
msgstr "नोटबुक फाईल डाउनलोड करा"
msgid "Download source file"
msgstr "स्त्रोत फाइल डाउनलोड करा"
msgid "Download this page"
msgstr "हे पृष्ठ डाउनलोड करा"
msgid "Edit this page"
msgstr "हे पृष्ठ संपादित करा"
msgid "Last updated on"
msgstr "अखेरचे अद्यतनित"
msgid "Launch"
msgstr "लाँच करा"
msgid "Open an issue"
msgstr "एक मुद्दा उघडा"
msgid "Print to PDF"
msgstr "पीडीएफवर मुद्रित करा"
msgid "Source repository"
msgstr "स्त्रोत भांडार"
msgid "Sphinx Book Theme"
msgstr "स्फिंक्स बुक थीम"
msgid "Theme by the"
msgstr "द्वारा थीम"
msgid "Download source file"
msgstr "स्त्रोत फाइल डाउनलोड करा"
msgid "Toggle navigation"
msgstr "नेव्हिगेशन टॉगल करा"
msgid "next page"
msgstr "पुढील पृष्ठ"
msgid "open issue"
msgstr "खुला मुद्दा"
@ -23,44 +62,5 @@ msgstr "खुला मुद्दा"
msgid "previous page"
msgstr "मागील पान"
msgid "Download notebook file"
msgstr "नोटबुक फाईल डाउनलोड करा"
msgid "Copyright"
msgstr "कॉपीराइट"
msgid "Download this page"
msgstr "हे पृष्ठ डाउनलोड करा"
msgid "Source repository"
msgstr "स्त्रोत भांडार"
msgid "By"
msgstr "द्वारा"
msgid "Last updated on"
msgstr "अखेरचे अद्यतनित"
msgid "Toggle navigation"
msgstr "नेव्हिगेशन टॉगल करा"
msgid "Sphinx Book Theme"
msgstr "स्फिंक्स बुक थीम"
msgid "suggest edit"
msgstr "संपादन सुचवा"
msgid "Open an issue"
msgstr "एक मुद्दा उघडा"
msgid "Launch"
msgstr "लाँच करा"
msgid "Edit this page"
msgstr "हे पृष्ठ संपादित करा"
msgid "By the"
msgstr "द्वारा"
msgid "next page"
msgstr "पुढील पृष्ठ"

View File

@ -8,14 +8,53 @@ msgstr ""
"Language: ms\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "Oleh"
msgid "By"
msgstr "Oleh"
msgid "Copyright"
msgstr "hak cipta"
msgid "Download notebook file"
msgstr "Muat turun fail buku nota"
msgid "Download source file"
msgstr "Muat turun fail sumber"
msgid "Download this page"
msgstr "Muat turun halaman ini"
msgid "Edit this page"
msgstr "Edit halaman ini"
msgid "Last updated on"
msgstr "Terakhir dikemas kini pada"
msgid "Launch"
msgstr "Lancarkan"
msgid "Open an issue"
msgstr "Buka masalah"
msgid "Print to PDF"
msgstr "Cetak ke PDF"
msgid "Source repository"
msgstr "Repositori sumber"
msgid "Sphinx Book Theme"
msgstr "Tema Buku Sphinx"
msgid "Theme by the"
msgstr "Tema oleh"
msgid "Download source file"
msgstr "Muat turun fail sumber"
msgid "Toggle navigation"
msgstr "Togol navigasi"
msgid "next page"
msgstr "muka surat seterusnya"
msgid "open issue"
msgstr "isu terbuka"
@ -23,44 +62,5 @@ msgstr "isu terbuka"
msgid "previous page"
msgstr "halaman sebelumnya"
msgid "Download notebook file"
msgstr "Muat turun fail buku nota"
msgid "Copyright"
msgstr "hak cipta"
msgid "Download this page"
msgstr "Muat turun halaman ini"
msgid "Source repository"
msgstr "Repositori sumber"
msgid "By"
msgstr "Oleh"
msgid "Last updated on"
msgstr "Terakhir dikemas kini pada"
msgid "Toggle navigation"
msgstr "Togol navigasi"
msgid "Sphinx Book Theme"
msgstr "Tema Buku Sphinx"
msgid "suggest edit"
msgstr "cadangkan edit"
msgid "Open an issue"
msgstr "Buka masalah"
msgid "Launch"
msgstr "Lancarkan"
msgid "Edit this page"
msgstr "Edit halaman ini"
msgid "By the"
msgstr "Oleh"
msgid "next page"
msgstr "muka surat seterusnya"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Afdrukken naar pdf"
msgid "Theme by the"
msgstr "Thema door de"
msgid "Download source file"
msgstr "Download het bronbestand"
msgid "open issue"
msgstr "open probleem"
msgid "Contents"
msgstr "Inhoud"
msgid "previous page"
msgstr "vorige pagina"
msgid "Download notebook file"
msgstr "Download notebookbestand"
msgid "Copyright"
msgstr "auteursrechten"
msgid "Download this page"
msgstr "Download deze pagina"
msgid "Source repository"
msgstr "Bronopslagplaats"
msgid "By the"
msgstr "Door de"
msgid "By"
msgstr "Door"
msgid "repository"
msgstr "repository"
msgid "Contents"
msgstr "Inhoud"
msgid "Last updated on"
msgstr "Laatst geupdate op"
msgid "Copyright"
msgstr "auteursrechten"
msgid "Toggle navigation"
msgstr "Schakel navigatie"
msgid "Download notebook file"
msgstr "Download notebookbestand"
msgid "Sphinx Book Theme"
msgstr "Sphinx-boekthema"
msgid "Download source file"
msgstr "Download het bronbestand"
msgid "suggest edit"
msgstr "suggereren bewerken"
msgid "Open an issue"
msgstr "Open een probleem"
msgid "Launch"
msgstr "Lancering"
msgid "Fullscreen mode"
msgstr "Volledig scherm"
msgid "Download this page"
msgstr "Download deze pagina"
msgid "Edit this page"
msgstr "bewerk deze pagina"
msgid "By the"
msgstr "Door de"
msgid "Fullscreen mode"
msgstr "Volledig scherm"
msgid "Last updated on"
msgstr "Laatst geupdate op"
msgid "Launch"
msgstr "Lancering"
msgid "Open an issue"
msgstr "Open een probleem"
msgid "Print to PDF"
msgstr "Afdrukken naar pdf"
msgid "Source repository"
msgstr "Bronopslagplaats"
msgid "Sphinx Book Theme"
msgstr "Sphinx-boekthema"
msgid "Theme by the"
msgstr "Thema door de"
msgid "Toggle navigation"
msgstr "Schakel navigatie"
msgid "next page"
msgstr "volgende bladzijde"
msgid "open issue"
msgstr "open probleem"
msgid "previous page"
msgstr "vorige pagina"
msgid "repository"
msgstr "repository"
msgid "suggest edit"
msgstr "suggereren bewerken"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: no\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Skriv ut til PDF"
msgid "Theme by the"
msgstr "Tema av"
msgid "Download source file"
msgstr "Last ned kildefilen"
msgid "open issue"
msgstr "åpent nummer"
msgid "Contents"
msgstr "Innhold"
msgid "previous page"
msgstr "forrige side"
msgid "Download notebook file"
msgstr "Last ned notatbokfilen"
msgid "Copyright"
msgstr "opphavsrett"
msgid "Download this page"
msgstr "Last ned denne siden"
msgid "Source repository"
msgstr "Kildedepot"
msgid "By the"
msgstr "Ved"
msgid "By"
msgstr "Av"
msgid "repository"
msgstr "oppbevaringssted"
msgid "Contents"
msgstr "Innhold"
msgid "Last updated on"
msgstr "Sist oppdatert den"
msgid "Copyright"
msgstr "opphavsrett"
msgid "Toggle navigation"
msgstr "Bytt navigasjon"
msgid "Download notebook file"
msgstr "Last ned notatbokfilen"
msgid "Sphinx Book Theme"
msgstr "Sphinx boktema"
msgid "Download source file"
msgstr "Last ned kildefilen"
msgid "suggest edit"
msgstr "foreslå redigering"
msgid "Open an issue"
msgstr "Åpne et problem"
msgid "Launch"
msgstr "Start"
msgid "Fullscreen mode"
msgstr "Fullskjerm-modus"
msgid "Download this page"
msgstr "Last ned denne siden"
msgid "Edit this page"
msgstr "Rediger denne siden"
msgid "By the"
msgstr "Ved"
msgid "Fullscreen mode"
msgstr "Fullskjerm-modus"
msgid "Last updated on"
msgstr "Sist oppdatert den"
msgid "Launch"
msgstr "Start"
msgid "Open an issue"
msgstr "Åpne et problem"
msgid "Print to PDF"
msgstr "Skriv ut til PDF"
msgid "Source repository"
msgstr "Kildedepot"
msgid "Sphinx Book Theme"
msgstr "Sphinx boktema"
msgid "Theme by the"
msgstr "Tema av"
msgid "Toggle navigation"
msgstr "Bytt navigasjon"
msgid "next page"
msgstr "neste side"
msgid "open issue"
msgstr "åpent nummer"
msgid "previous page"
msgstr "forrige side"
msgid "repository"
msgstr "oppbevaringssted"
msgid "suggest edit"
msgstr "foreslå redigering"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: pl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Drukuj do PDF"
msgid "Theme by the"
msgstr "Motyw autorstwa"
msgid "Download source file"
msgstr "Pobierz plik źródłowy"
msgid "open issue"
msgstr "otwarty problem"
msgid "Contents"
msgstr "Zawartość"
msgid "previous page"
msgstr "Poprzednia strona"
msgid "Download notebook file"
msgstr "Pobierz plik notatnika"
msgid "Copyright"
msgstr "prawa autorskie"
msgid "Download this page"
msgstr "Pobierz tę stronę"
msgid "Source repository"
msgstr "Repozytorium źródłowe"
msgid "By the"
msgstr "Przez"
msgid "By"
msgstr "Przez"
msgid "repository"
msgstr "magazyn"
msgid "Contents"
msgstr "Zawartość"
msgid "Last updated on"
msgstr "Ostatnia aktualizacja"
msgid "Copyright"
msgstr "prawa autorskie"
msgid "Toggle navigation"
msgstr "Przełącz nawigację"
msgid "Download notebook file"
msgstr "Pobierz plik notatnika"
msgid "Sphinx Book Theme"
msgstr "Motyw książki Sphinx"
msgid "Download source file"
msgstr "Pobierz plik źródłowy"
msgid "suggest edit"
msgstr "zaproponuj edycję"
msgid "Open an issue"
msgstr "Otwórz problem"
msgid "Launch"
msgstr "Uruchomić"
msgid "Fullscreen mode"
msgstr "Pełny ekran"
msgid "Download this page"
msgstr "Pobierz tę stronę"
msgid "Edit this page"
msgstr "Edytuj tę strone"
msgid "By the"
msgstr "Przez"
msgid "Fullscreen mode"
msgstr "Pełny ekran"
msgid "Last updated on"
msgstr "Ostatnia aktualizacja"
msgid "Launch"
msgstr "Uruchomić"
msgid "Open an issue"
msgstr "Otwórz problem"
msgid "Print to PDF"
msgstr "Drukuj do PDF"
msgid "Source repository"
msgstr "Repozytorium źródłowe"
msgid "Sphinx Book Theme"
msgstr "Motyw książki Sphinx"
msgid "Theme by the"
msgstr "Motyw autorstwa"
msgid "Toggle navigation"
msgstr "Przełącz nawigację"
msgid "next page"
msgstr "Następna strona"
msgid "open issue"
msgstr "otwarty problem"
msgid "previous page"
msgstr "Poprzednia strona"
msgid "repository"
msgstr "magazyn"
msgid "suggest edit"
msgstr "zaproponuj edycję"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: pt\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Imprimir em PDF"
msgid "Theme by the"
msgstr "Tema por"
msgid "Download source file"
msgstr "Baixar arquivo fonte"
msgid "open issue"
msgstr "questão aberta"
msgid "Contents"
msgstr "Conteúdo"
msgid "previous page"
msgstr "página anterior"
msgid "Download notebook file"
msgstr "Baixar arquivo de notebook"
msgid "Copyright"
msgstr "direito autoral"
msgid "Download this page"
msgstr "Baixe esta página"
msgid "Source repository"
msgstr "Repositório fonte"
msgid "By the"
msgstr "Pelo"
msgid "By"
msgstr "De"
msgid "repository"
msgstr "repositório"
msgid "Contents"
msgstr "Conteúdo"
msgid "Last updated on"
msgstr "Última atualização em"
msgid "Copyright"
msgstr "direito autoral"
msgid "Toggle navigation"
msgstr "Alternar de navegação"
msgid "Download notebook file"
msgstr "Baixar arquivo de notebook"
msgid "Sphinx Book Theme"
msgstr "Tema do livro Sphinx"
msgid "Download source file"
msgstr "Baixar arquivo fonte"
msgid "suggest edit"
msgstr "sugerir edição"
msgid "Open an issue"
msgstr "Abra um problema"
msgid "Launch"
msgstr "Lançamento"
msgid "Fullscreen mode"
msgstr "Modo tela cheia"
msgid "Download this page"
msgstr "Baixe esta página"
msgid "Edit this page"
msgstr "Edite essa página"
msgid "By the"
msgstr "Pelo"
msgid "Fullscreen mode"
msgstr "Modo tela cheia"
msgid "Last updated on"
msgstr "Última atualização em"
msgid "Launch"
msgstr "Lançamento"
msgid "Open an issue"
msgstr "Abra um problema"
msgid "Print to PDF"
msgstr "Imprimir em PDF"
msgid "Source repository"
msgstr "Repositório fonte"
msgid "Sphinx Book Theme"
msgstr "Tema do livro Sphinx"
msgid "Theme by the"
msgstr "Tema por"
msgid "Toggle navigation"
msgstr "Alternar de navegação"
msgid "next page"
msgstr "próxima página"
msgid "open issue"
msgstr "questão aberta"
msgid "previous page"
msgstr "página anterior"
msgid "repository"
msgstr "repositório"
msgid "suggest edit"
msgstr "sugerir edição"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: ro\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Imprimați în PDF"
msgid "Theme by the"
msgstr "Tema de"
msgid "Download source file"
msgstr "Descărcați fișierul sursă"
msgid "open issue"
msgstr "problema deschisă"
msgid "Contents"
msgstr "Cuprins"
msgid "previous page"
msgstr "pagina anterioară"
msgid "Download notebook file"
msgstr "Descărcați fișierul notebook"
msgid "Copyright"
msgstr "Drepturi de autor"
msgid "Download this page"
msgstr "Descarcă această pagină"
msgid "Source repository"
msgstr "Depozit sursă"
msgid "By the"
msgstr "Langa"
msgid "By"
msgstr "De"
msgid "repository"
msgstr "repertoriu"
msgid "Contents"
msgstr "Cuprins"
msgid "Last updated on"
msgstr "Ultima actualizare la"
msgid "Copyright"
msgstr "Drepturi de autor"
msgid "Toggle navigation"
msgstr "Comutare navigare"
msgid "Download notebook file"
msgstr "Descărcați fișierul notebook"
msgid "Sphinx Book Theme"
msgstr "Tema Sphinx Book"
msgid "Download source file"
msgstr "Descărcați fișierul sursă"
msgid "suggest edit"
msgstr "sugerează editare"
msgid "Open an issue"
msgstr "Deschideți o problemă"
msgid "Launch"
msgstr "Lansa"
msgid "Fullscreen mode"
msgstr "Modul ecran întreg"
msgid "Download this page"
msgstr "Descarcă această pagină"
msgid "Edit this page"
msgstr "Editați această pagină"
msgid "By the"
msgstr "Langa"
msgid "Fullscreen mode"
msgstr "Modul ecran întreg"
msgid "Last updated on"
msgstr "Ultima actualizare la"
msgid "Launch"
msgstr "Lansa"
msgid "Open an issue"
msgstr "Deschideți o problemă"
msgid "Print to PDF"
msgstr "Imprimați în PDF"
msgid "Source repository"
msgstr "Depozit sursă"
msgid "Sphinx Book Theme"
msgstr "Tema Sphinx Book"
msgid "Theme by the"
msgstr "Tema de"
msgid "Toggle navigation"
msgstr "Comutare navigare"
msgid "next page"
msgstr "pagina următoare"
msgid "open issue"
msgstr "problema deschisă"
msgid "previous page"
msgstr "pagina anterioară"
msgid "repository"
msgstr "repertoriu"
msgid "suggest edit"
msgstr "sugerează editare"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: ru\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Распечатать в PDF"
msgid "By the"
msgstr "Посредством"
msgid "Theme by the"
msgstr "Тема от"
msgid "Download source file"
msgstr "Скачать исходный файл"
msgid "open issue"
msgstr "открытый вопрос"
msgid "By"
msgstr "Автор:"
msgid "Contents"
msgstr "Содержание"
msgid "previous page"
msgstr "Предыдущая страница"
msgid "Copyright"
msgstr "авторское право"
msgid "Download notebook file"
msgstr "Скачать файл записной книжки"
msgid "Copyright"
msgstr "авторское право"
msgid "Download source file"
msgstr "Скачать исходный файл"
msgid "Download this page"
msgstr "Загрузите эту страницу"
msgid "Source repository"
msgstr "Исходный репозиторий"
msgid "By"
msgstr "По"
msgid "repository"
msgstr "хранилище"
msgid "Last updated on"
msgstr "Последнее обновление"
msgid "Toggle navigation"
msgstr "Переключить навигацию"
msgid "Sphinx Book Theme"
msgstr "Тема книги Сфинкс"
msgid "suggest edit"
msgstr "предложить редактировать"
msgid "Open an issue"
msgstr "Открыть вопрос"
msgid "Launch"
msgstr "Запуск"
msgid "Edit this page"
msgstr "Редактировать эту страницу"
msgid "Fullscreen mode"
msgstr "Полноэкранный режим"
msgid "Edit this page"
msgstr "Редактировать эту страницу"
msgid "Last updated on"
msgstr "Последнее обновление"
msgid "By the"
msgstr "Посредством"
msgid "Launch"
msgstr "Запуск"
msgid "Open an issue"
msgstr "Открыть вопрос"
msgid "Print to PDF"
msgstr "Распечатать в PDF"
msgid "Source repository"
msgstr "Исходный репозиторий"
msgid "Sphinx Book Theme"
msgstr "Тема книги Сфинкс"
msgid "Theme by the"
msgstr "Тема от"
msgid "Toggle navigation"
msgstr "Переключить навигацию"
msgid "next page"
msgstr "Следующая страница"
msgid "open issue"
msgstr "открытый вопрос"
msgid "previous page"
msgstr "Предыдущая страница"
msgid "repository"
msgstr "хранилище"
msgid "suggest edit"
msgstr "предложить редактировать"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: sk\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Tlač do PDF"
msgid "Theme by the"
msgstr "Téma od"
msgid "Download source file"
msgstr "Stiahnite si zdrojový súbor"
msgid "open issue"
msgstr "otvorené vydanie"
msgid "Contents"
msgstr "Obsah"
msgid "previous page"
msgstr "predchádzajúca strana"
msgid "Download notebook file"
msgstr "Stiahnite si zošit"
msgid "Copyright"
msgstr "Autorské práva"
msgid "Download this page"
msgstr "Stiahnite si túto stránku"
msgid "Source repository"
msgstr "Zdrojové úložisko"
msgid "By the"
msgstr "Podľa"
msgid "By"
msgstr "Autor:"
msgid "repository"
msgstr "Úložisko"
msgid "Contents"
msgstr "Obsah"
msgid "Last updated on"
msgstr "Posledná aktualizácia dňa"
msgid "Copyright"
msgstr "Autorské práva"
msgid "Toggle navigation"
msgstr "Prepnúť navigáciu"
msgid "Download notebook file"
msgstr "Stiahnite si zošit"
msgid "Sphinx Book Theme"
msgstr "Téma knihy Sfinga"
msgid "Download source file"
msgstr "Stiahnite si zdrojový súbor"
msgid "suggest edit"
msgstr "navrhnúť úpravu"
msgid "Open an issue"
msgstr "Otvorte problém"
msgid "Launch"
msgstr "Spustiť"
msgid "Fullscreen mode"
msgstr "Režim celej obrazovky"
msgid "Download this page"
msgstr "Stiahnite si túto stránku"
msgid "Edit this page"
msgstr "Upraviť túto stránku"
msgid "By the"
msgstr "Podľa"
msgid "Fullscreen mode"
msgstr "Režim celej obrazovky"
msgid "Last updated on"
msgstr "Posledná aktualizácia dňa"
msgid "Launch"
msgstr "Spustiť"
msgid "Open an issue"
msgstr "Otvorte problém"
msgid "Print to PDF"
msgstr "Tlač do PDF"
msgid "Source repository"
msgstr "Zdrojové úložisko"
msgid "Sphinx Book Theme"
msgstr "Téma knihy Sfinga"
msgid "Theme by the"
msgstr "Téma od"
msgid "Toggle navigation"
msgstr "Prepnúť navigáciu"
msgid "next page"
msgstr "ďalšia strana"
msgid "open issue"
msgstr "otvorené vydanie"
msgid "previous page"
msgstr "predchádzajúca strana"
msgid "repository"
msgstr "Úložisko"
msgid "suggest edit"
msgstr "navrhnúť úpravu"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: sl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Natisni v PDF"
msgid "Theme by the"
msgstr "Tema avtorja"
msgid "Download source file"
msgstr "Prenesite izvorno datoteko"
msgid "open issue"
msgstr "odprto vprašanje"
msgid "Contents"
msgstr "Vsebina"
msgid "previous page"
msgstr "Prejšnja stran"
msgid "Download notebook file"
msgstr "Prenesite datoteko zvezka"
msgid "Copyright"
msgstr "avtorske pravice"
msgid "Download this page"
msgstr "Prenesite to stran"
msgid "Source repository"
msgstr "Izvorno skladišče"
msgid "By the"
msgstr "Avtor"
msgid "By"
msgstr "Avtor"
msgid "repository"
msgstr "odlagališče"
msgid "Contents"
msgstr "Vsebina"
msgid "Last updated on"
msgstr "Nazadnje posodobljeno dne"
msgid "Copyright"
msgstr "avtorske pravice"
msgid "Toggle navigation"
msgstr "Preklopi navigacijo"
msgid "Download notebook file"
msgstr "Prenesite datoteko zvezka"
msgid "Sphinx Book Theme"
msgstr "Tema knjige Sphinx"
msgid "Download source file"
msgstr "Prenesite izvorno datoteko"
msgid "suggest edit"
msgstr "predlagajte urejanje"
msgid "Open an issue"
msgstr "Odprite številko"
msgid "Launch"
msgstr "Kosilo"
msgid "Fullscreen mode"
msgstr "Celozaslonski način"
msgid "Download this page"
msgstr "Prenesite to stran"
msgid "Edit this page"
msgstr "Uredite to stran"
msgid "By the"
msgstr "Avtor"
msgid "Fullscreen mode"
msgstr "Celozaslonski način"
msgid "Last updated on"
msgstr "Nazadnje posodobljeno dne"
msgid "Launch"
msgstr "Kosilo"
msgid "Open an issue"
msgstr "Odprite številko"
msgid "Print to PDF"
msgstr "Natisni v PDF"
msgid "Source repository"
msgstr "Izvorno skladišče"
msgid "Sphinx Book Theme"
msgstr "Tema knjige Sphinx"
msgid "Theme by the"
msgstr "Tema avtorja"
msgid "Toggle navigation"
msgstr "Preklopi navigacijo"
msgid "next page"
msgstr "Naslednja stran"
msgid "open issue"
msgstr "odprto vprašanje"
msgid "previous page"
msgstr "Prejšnja stran"
msgid "repository"
msgstr "odlagališče"
msgid "suggest edit"
msgstr "predlagajte urejanje"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: sr\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Испис у ПДФ"
msgid "Theme by the"
msgstr "Тхеме би"
msgid "Download source file"
msgstr "Преузми изворну датотеку"
msgid "open issue"
msgstr "отворено издање"
msgid "Contents"
msgstr "Садржај"
msgid "previous page"
msgstr "Претходна страница"
msgid "Download notebook file"
msgstr "Преузмите датотеку бележнице"
msgid "Copyright"
msgstr "Ауторско право"
msgid "Download this page"
msgstr "Преузмите ову страницу"
msgid "Source repository"
msgstr "Изворно спремиште"
msgid "By the"
msgstr "Од"
msgid "By"
msgstr "Од стране"
msgid "repository"
msgstr "спремиште"
msgid "Contents"
msgstr "Садржај"
msgid "Last updated on"
msgstr "Последње ажурирање"
msgid "Copyright"
msgstr "Ауторско право"
msgid "Toggle navigation"
msgstr "Укључи / искључи навигацију"
msgid "Download notebook file"
msgstr "Преузмите датотеку бележнице"
msgid "Sphinx Book Theme"
msgstr "Тема књиге Спхинк"
msgid "Download source file"
msgstr "Преузми изворну датотеку"
msgid "suggest edit"
msgstr "предложи уређивање"
msgid "Open an issue"
msgstr "Отворите издање"
msgid "Launch"
msgstr "Лансирање"
msgid "Fullscreen mode"
msgstr "Режим целог екрана"
msgid "Download this page"
msgstr "Преузмите ову страницу"
msgid "Edit this page"
msgstr "Уредите ову страницу"
msgid "By the"
msgstr "Од"
msgid "Fullscreen mode"
msgstr "Режим целог екрана"
msgid "Last updated on"
msgstr "Последње ажурирање"
msgid "Launch"
msgstr "Лансирање"
msgid "Open an issue"
msgstr "Отворите издање"
msgid "Print to PDF"
msgstr "Испис у ПДФ"
msgid "Source repository"
msgstr "Изворно спремиште"
msgid "Sphinx Book Theme"
msgstr "Тема књиге Спхинк"
msgid "Theme by the"
msgstr "Тхеме би"
msgid "Toggle navigation"
msgstr "Укључи / искључи навигацију"
msgid "next page"
msgstr "Следећа страна"
msgid "open issue"
msgstr "отворено издање"
msgid "previous page"
msgstr "Претходна страница"
msgid "repository"
msgstr "спремиште"
msgid "suggest edit"
msgstr "предложи уређивање"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Skriv ut till PDF"
msgid "Theme by the"
msgstr "Tema av"
msgid "Download source file"
msgstr "Ladda ner källfil"
msgid "open issue"
msgstr "öppna problemrapport"
msgid "Contents"
msgstr "Innehåll"
msgid "previous page"
msgstr "föregående sida"
msgid "Download notebook file"
msgstr "Ladda ner notebook-fil"
msgid "Copyright"
msgstr "Upphovsrätt"
msgid "Download this page"
msgstr "Ladda ner den här sidan"
msgid "Source repository"
msgstr "Källkodsrepositorium"
msgid "By the"
msgstr "Av den"
msgid "By"
msgstr "Av"
msgid "repository"
msgstr "repositorium"
msgid "Contents"
msgstr "Innehåll"
msgid "Last updated on"
msgstr "Senast uppdaterad den"
msgid "Copyright"
msgstr "Upphovsrätt"
msgid "Toggle navigation"
msgstr "Växla navigering"
msgid "Download notebook file"
msgstr "Ladda ner notebook-fil"
msgid "Sphinx Book Theme"
msgstr "Sphinx Boktema"
msgid "Download source file"
msgstr "Ladda ner källfil"
msgid "suggest edit"
msgstr "föreslå ändring"
msgid "Open an issue"
msgstr "Öppna en problemrapport"
msgid "Launch"
msgstr "Öppna"
msgid "Fullscreen mode"
msgstr "Fullskärmsläge"
msgid "Download this page"
msgstr "Ladda ner den här sidan"
msgid "Edit this page"
msgstr "Redigera den här sidan"
msgid "By the"
msgstr "Av den"
msgid "Fullscreen mode"
msgstr "Fullskärmsläge"
msgid "Last updated on"
msgstr "Senast uppdaterad den"
msgid "Launch"
msgstr "Öppna"
msgid "Open an issue"
msgstr "Öppna en problemrapport"
msgid "Print to PDF"
msgstr "Skriv ut till PDF"
msgid "Source repository"
msgstr "Källkodsrepositorium"
msgid "Sphinx Book Theme"
msgstr "Sphinx Boktema"
msgid "Theme by the"
msgstr "Tema av"
msgid "Toggle navigation"
msgstr "Växla navigering"
msgid "next page"
msgstr "nästa sida"
msgid "open issue"
msgstr "öppna problemrapport"
msgid "previous page"
msgstr "föregående sida"
msgid "repository"
msgstr "repositorium"
msgid "suggest edit"
msgstr "föreslå ändring"

View File

@ -8,14 +8,53 @@ msgstr ""
"Language: ta\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "மூலம்"
msgid "By"
msgstr "வழங்கியவர்"
msgid "Copyright"
msgstr "பதிப்புரிமை"
msgid "Download notebook file"
msgstr "நோட்புக் கோப்பைப் பதிவிறக்கவும்"
msgid "Download source file"
msgstr "மூல கோப்பைப் பதிவிறக்குக"
msgid "Download this page"
msgstr "இந்தப் பக்கத்தைப் பதிவிறக்கவும்"
msgid "Edit this page"
msgstr "இந்தப் பக்கத்தைத் திருத்தவும்"
msgid "Last updated on"
msgstr "கடைசியாக புதுப்பிக்கப்பட்டது"
msgid "Launch"
msgstr "தொடங்க"
msgid "Open an issue"
msgstr "சிக்கலைத் திறக்கவும்"
msgid "Print to PDF"
msgstr "PDF இல் அச்சிடுக"
msgid "Source repository"
msgstr "மூல களஞ்சியம்"
msgid "Sphinx Book Theme"
msgstr "ஸ்பிங்க்ஸ் புத்தக தீம்"
msgid "Theme by the"
msgstr "வழங்கிய தீம்"
msgid "Download source file"
msgstr "மூல கோப்பைப் பதிவிறக்குக"
msgid "Toggle navigation"
msgstr "வழிசெலுத்தலை நிலைமாற்று"
msgid "next page"
msgstr "அடுத்த பக்கம்"
msgid "open issue"
msgstr "திறந்த பிரச்சினை"
@ -23,44 +62,5 @@ msgstr "திறந்த பிரச்சினை"
msgid "previous page"
msgstr "முந்தைய பக்கம்"
msgid "Download notebook file"
msgstr "நோட்புக் கோப்பைப் பதிவிறக்கவும்"
msgid "Copyright"
msgstr "பதிப்புரிமை"
msgid "Download this page"
msgstr "இந்தப் பக்கத்தைப் பதிவிறக்கவும்"
msgid "Source repository"
msgstr "மூல களஞ்சியம்"
msgid "By"
msgstr "வழங்கியவர்"
msgid "Last updated on"
msgstr "கடைசியாக புதுப்பிக்கப்பட்டது"
msgid "Toggle navigation"
msgstr "வழிசெலுத்தலை நிலைமாற்று"
msgid "Sphinx Book Theme"
msgstr "ஸ்பிங்க்ஸ் புத்தக தீம்"
msgid "suggest edit"
msgstr "திருத்த பரிந்துரைக்கவும்"
msgid "Open an issue"
msgstr "சிக்கலைத் திறக்கவும்"
msgid "Launch"
msgstr "தொடங்க"
msgid "Edit this page"
msgstr "இந்தப் பக்கத்தைத் திருத்தவும்"
msgid "By the"
msgstr "மூலம்"
msgid "next page"
msgstr "அடுத்த பக்கம்"

View File

@ -8,14 +8,53 @@ msgstr ""
"Language: te\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "ద్వారా"
msgid "By"
msgstr "ద్వారా"
msgid "Copyright"
msgstr "కాపీరైట్"
msgid "Download notebook file"
msgstr "నోట్బుక్ ఫైల్ను డౌన్లోడ్ చేయండి"
msgid "Download source file"
msgstr "మూల ఫైల్‌ను డౌన్‌లోడ్ చేయండి"
msgid "Download this page"
msgstr "ఈ పేజీని డౌన్‌లోడ్ చేయండి"
msgid "Edit this page"
msgstr "ఈ పేజీని సవరించండి"
msgid "Last updated on"
msgstr "చివరిగా నవీకరించబడింది"
msgid "Launch"
msgstr "ప్రారంభించండి"
msgid "Open an issue"
msgstr "సమస్యను తెరవండి"
msgid "Print to PDF"
msgstr "PDF కి ముద్రించండి"
msgid "Source repository"
msgstr "మూల రిపోజిటరీ"
msgid "Sphinx Book Theme"
msgstr "సింహిక పుస్తక థీమ్"
msgid "Theme by the"
msgstr "ద్వారా థీమ్"
msgid "Download source file"
msgstr "మూల ఫైల్‌ను డౌన్‌లోడ్ చేయండి"
msgid "Toggle navigation"
msgstr "నావిగేషన్‌ను టోగుల్ చేయండి"
msgid "next page"
msgstr "తరువాతి పేజీ"
msgid "open issue"
msgstr "ఓపెన్ ఇష్యూ"
@ -23,44 +62,5 @@ msgstr "ఓపెన్ ఇష్యూ"
msgid "previous page"
msgstr "ముందు పేజి"
msgid "Download notebook file"
msgstr "నోట్బుక్ ఫైల్ను డౌన్లోడ్ చేయండి"
msgid "Copyright"
msgstr "కాపీరైట్"
msgid "Download this page"
msgstr "ఈ పేజీని డౌన్‌లోడ్ చేయండి"
msgid "Source repository"
msgstr "మూల రిపోజిటరీ"
msgid "By"
msgstr "ద్వారా"
msgid "Last updated on"
msgstr "చివరిగా నవీకరించబడింది"
msgid "Toggle navigation"
msgstr "నావిగేషన్‌ను టోగుల్ చేయండి"
msgid "Sphinx Book Theme"
msgstr "సింహిక పుస్తక థీమ్"
msgid "suggest edit"
msgstr "సవరించమని సూచించండి"
msgid "Open an issue"
msgstr "సమస్యను తెరవండి"
msgid "Launch"
msgstr "ప్రారంభించండి"
msgid "Edit this page"
msgstr "ఈ పేజీని సవరించండి"
msgid "By the"
msgstr "ద్వారా"
msgid "next page"
msgstr "తరువాతి పేజీ"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: tg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Чоп ба PDF"
msgid "Theme by the"
msgstr "Мавзӯъи аз"
msgid "Download source file"
msgstr "Файли манбаъро зеркашӣ кунед"
msgid "open issue"
msgstr "барориши кушод"
msgid "Contents"
msgstr "Мундариҷа"
msgid "previous page"
msgstr "саҳифаи қаблӣ"
msgid "Download notebook file"
msgstr "Файли дафтарро зеркашӣ кунед"
msgid "Copyright"
msgstr "Ҳуқуқи муаллиф"
msgid "Download this page"
msgstr "Ин саҳифаро зеркашӣ кунед"
msgid "Source repository"
msgstr "Анбори манбаъ"
msgid "By the"
msgstr "Бо"
msgid "By"
msgstr "Бо"
msgid "repository"
msgstr "анбор"
msgid "Contents"
msgstr "Мундариҷа"
msgid "Last updated on"
msgstr "Last навсозӣ дар"
msgid "Copyright"
msgstr "Ҳуқуқи муаллиф"
msgid "Toggle navigation"
msgstr "Гузаришро иваз кунед"
msgid "Download notebook file"
msgstr "Файли дафтарро зеркашӣ кунед"
msgid "Sphinx Book Theme"
msgstr "Сфинкс Мавзӯи китоб"
msgid "Download source file"
msgstr "Файли манбаъро зеркашӣ кунед"
msgid "suggest edit"
msgstr "пешниҳод вироиш"
msgid "Open an issue"
msgstr "Масъаларо кушоед"
msgid "Launch"
msgstr "Оғоз"
msgid "Fullscreen mode"
msgstr "Ҳолати экрани пурра"
msgid "Download this page"
msgstr "Ин саҳифаро зеркашӣ кунед"
msgid "Edit this page"
msgstr "Ин саҳифаро таҳрир кунед"
msgid "By the"
msgstr "Бо"
msgid "Fullscreen mode"
msgstr "Ҳолати экрани пурра"
msgid "Last updated on"
msgstr "Last навсозӣ дар"
msgid "Launch"
msgstr "Оғоз"
msgid "Open an issue"
msgstr "Масъаларо кушоед"
msgid "Print to PDF"
msgstr "Чоп ба PDF"
msgid "Source repository"
msgstr "Анбори манбаъ"
msgid "Sphinx Book Theme"
msgstr "Сфинкс Мавзӯи китоб"
msgid "Theme by the"
msgstr "Мавзӯъи аз"
msgid "Toggle navigation"
msgstr "Гузаришро иваз кунед"
msgid "next page"
msgstr "саҳифаи оянда"
msgid "open issue"
msgstr "барориши кушод"
msgid "previous page"
msgstr "саҳифаи қаблӣ"
msgid "repository"
msgstr "анбор"
msgid "suggest edit"
msgstr "пешниҳод вироиш"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: th\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "พิมพ์เป็น PDF"
msgid "Theme by the"
msgstr "ธีมโดย"
msgid "Download source file"
msgstr "ดาวน์โหลดไฟล์ต้นฉบับ"
msgid "open issue"
msgstr "เปิดปัญหา"
msgid "Contents"
msgstr "สารบัญ"
msgid "previous page"
msgstr "หน้าที่แล้ว"
msgid "Download notebook file"
msgstr "ดาวน์โหลดไฟล์สมุดบันทึก"
msgid "Copyright"
msgstr "ลิขสิทธิ์"
msgid "Download this page"
msgstr "ดาวน์โหลดหน้านี้"
msgid "Source repository"
msgstr "ที่เก็บซอร์ส"
msgid "By the"
msgstr "โดย"
msgid "By"
msgstr "โดย"
msgid "repository"
msgstr "ที่เก็บ"
msgid "Contents"
msgstr "สารบัญ"
msgid "Last updated on"
msgstr "ปรับปรุงล่าสุดเมื่อ"
msgid "Copyright"
msgstr "ลิขสิทธิ์"
msgid "Toggle navigation"
msgstr "ไม่ต้องสลับช่องทาง"
msgid "Download notebook file"
msgstr "ดาวน์โหลดไฟล์สมุดบันทึก"
msgid "Sphinx Book Theme"
msgstr "ธีมหนังสือสฟิงซ์"
msgid "Download source file"
msgstr "ดาวน์โหลดไฟล์ต้นฉบับ"
msgid "suggest edit"
msgstr "แนะนำแก้ไข"
msgid "Open an issue"
msgstr "เปิดปัญหา"
msgid "Launch"
msgstr "เปิด"
msgid "Fullscreen mode"
msgstr "โหมดเต็มหน้าจอ"
msgid "Download this page"
msgstr "ดาวน์โหลดหน้านี้"
msgid "Edit this page"
msgstr "แก้ไขหน้านี้"
msgid "By the"
msgstr "โดย"
msgid "Fullscreen mode"
msgstr "โหมดเต็มหน้าจอ"
msgid "Last updated on"
msgstr "ปรับปรุงล่าสุดเมื่อ"
msgid "Launch"
msgstr "เปิด"
msgid "Open an issue"
msgstr "เปิดปัญหา"
msgid "Print to PDF"
msgstr "พิมพ์เป็น PDF"
msgid "Source repository"
msgstr "ที่เก็บซอร์ส"
msgid "Sphinx Book Theme"
msgstr "ธีมหนังสือสฟิงซ์"
msgid "Theme by the"
msgstr "ธีมโดย"
msgid "Toggle navigation"
msgstr "ไม่ต้องสลับช่องทาง"
msgid "next page"
msgstr "หน้าต่อไป"
msgid "open issue"
msgstr "เปิดปัญหา"
msgid "previous page"
msgstr "หน้าที่แล้ว"
msgid "repository"
msgstr "ที่เก็บ"
msgid "suggest edit"
msgstr "แนะนำแก้ไข"

View File

@ -8,14 +8,53 @@ msgstr ""
"Language: tl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "Sa pamamagitan ng"
msgid "By"
msgstr "Ni"
msgid "Copyright"
msgstr "Copyright"
msgid "Download notebook file"
msgstr "Mag-download ng file ng notebook"
msgid "Download source file"
msgstr "Mag-download ng file ng pinagmulan"
msgid "Download this page"
msgstr "I-download ang pahinang ito"
msgid "Edit this page"
msgstr "I-edit ang pahinang ito"
msgid "Last updated on"
msgstr "Huling na-update noong"
msgid "Launch"
msgstr "Ilunsad"
msgid "Open an issue"
msgstr "Magbukas ng isyu"
msgid "Print to PDF"
msgstr "I-print sa PDF"
msgid "Source repository"
msgstr "Pinagmulan ng imbakan"
msgid "Sphinx Book Theme"
msgstr "Tema ng Sphinx Book"
msgid "Theme by the"
msgstr "Tema ng"
msgid "Download source file"
msgstr "Mag-download ng file ng pinagmulan"
msgid "Toggle navigation"
msgstr "I-toggle ang pag-navigate"
msgid "next page"
msgstr "Susunod na pahina"
msgid "open issue"
msgstr "bukas na isyu"
@ -23,44 +62,5 @@ msgstr "bukas na isyu"
msgid "previous page"
msgstr "Nakaraang pahina"
msgid "Download notebook file"
msgstr "Mag-download ng file ng notebook"
msgid "Copyright"
msgstr "Copyright"
msgid "Download this page"
msgstr "I-download ang pahinang ito"
msgid "Source repository"
msgstr "Pinagmulan ng imbakan"
msgid "By"
msgstr "Ni"
msgid "Last updated on"
msgstr "Huling na-update noong"
msgid "Toggle navigation"
msgstr "I-toggle ang pag-navigate"
msgid "Sphinx Book Theme"
msgstr "Tema ng Sphinx Book"
msgid "suggest edit"
msgstr "iminumungkahi i-edit"
msgid "Open an issue"
msgstr "Magbukas ng isyu"
msgid "Launch"
msgstr "Ilunsad"
msgid "Edit this page"
msgstr "I-edit ang pahinang ito"
msgid "By the"
msgstr "Sa pamamagitan ng"
msgid "next page"
msgstr "Susunod na pahina"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "PDF olarak yazdır"
msgid "Theme by the"
msgstr "Tarafından tema"
msgid "Download source file"
msgstr "Kaynak dosyayı indirin"
msgid "open issue"
msgstr "Açık konu"
msgid "Contents"
msgstr "İçindekiler"
msgid "previous page"
msgstr "önceki sayfa"
msgid "Download notebook file"
msgstr "Defter dosyasını indirin"
msgid "Copyright"
msgstr "Telif hakkı"
msgid "Download this page"
msgstr "Bu sayfayı indirin"
msgid "Source repository"
msgstr "Kaynak kod deposu"
msgid "By the"
msgstr "Tarafından"
msgid "By"
msgstr "Tarafından"
msgid "repository"
msgstr "depo"
msgid "Contents"
msgstr "İçindekiler"
msgid "Last updated on"
msgstr "Son güncelleme tarihi"
msgid "Copyright"
msgstr "Telif hakkı"
msgid "Toggle navigation"
msgstr "Gezinmeyi değiştir"
msgid "Download notebook file"
msgstr "Defter dosyasını indirin"
msgid "Sphinx Book Theme"
msgstr "Sfenks Kitap Teması"
msgid "Download source file"
msgstr "Kaynak dosyayı indirin"
msgid "suggest edit"
msgstr "düzenleme öner"
msgid "Open an issue"
msgstr "Bir sorunu açın"
msgid "Launch"
msgstr "Başlatmak"
msgid "Fullscreen mode"
msgstr "Tam ekran modu"
msgid "Download this page"
msgstr "Bu sayfayı indirin"
msgid "Edit this page"
msgstr "Bu sayfayı düzenle"
msgid "By the"
msgstr "Tarafından"
msgid "Fullscreen mode"
msgstr "Tam ekran modu"
msgid "Last updated on"
msgstr "Son güncelleme tarihi"
msgid "Launch"
msgstr "Başlatmak"
msgid "Open an issue"
msgstr "Bir sorunu açın"
msgid "Print to PDF"
msgstr "PDF olarak yazdır"
msgid "Source repository"
msgstr "Kaynak kod deposu"
msgid "Sphinx Book Theme"
msgstr "Sfenks Kitap Teması"
msgid "Theme by the"
msgstr "Tarafından tema"
msgid "Toggle navigation"
msgstr "Gezinmeyi değiştir"
msgid "next page"
msgstr "sonraki Sayfa"
msgid "open issue"
msgstr "Açık konu"
msgid "previous page"
msgstr "önceki sayfa"
msgid "repository"
msgstr "depo"
msgid "suggest edit"
msgstr "düzenleme öner"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: uk\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "Друк у форматі PDF"
msgid "Theme by the"
msgstr "Тема від"
msgid "Download source file"
msgstr "Завантажити вихідний файл"
msgid "open issue"
msgstr "відкритий випуск"
msgid "Contents"
msgstr "Зміст"
msgid "previous page"
msgstr "Попередня сторінка"
msgid "Download notebook file"
msgstr "Завантажте файл блокнота"
msgid "Copyright"
msgstr "Авторське право"
msgid "Download this page"
msgstr "Завантажте цю сторінку"
msgid "Source repository"
msgstr "Джерело сховища"
msgid "By the"
msgstr "По"
msgid "By"
msgstr "Автор"
msgid "repository"
msgstr "сховище"
msgid "Contents"
msgstr "Зміст"
msgid "Last updated on"
msgstr "Останнє оновлення:"
msgid "Copyright"
msgstr "Авторське право"
msgid "Toggle navigation"
msgstr "Переключити навігацію"
msgid "Download notebook file"
msgstr "Завантажте файл блокнота"
msgid "Sphinx Book Theme"
msgstr "Тема книги \"Сфінкс\""
msgid "Download source file"
msgstr "Завантажити вихідний файл"
msgid "suggest edit"
msgstr "запропонувати редагувати"
msgid "Open an issue"
msgstr "Відкрийте випуск"
msgid "Launch"
msgstr "Запуск"
msgid "Fullscreen mode"
msgstr "Повноекранний режим"
msgid "Download this page"
msgstr "Завантажте цю сторінку"
msgid "Edit this page"
msgstr "Редагувати цю сторінку"
msgid "By the"
msgstr "По"
msgid "Fullscreen mode"
msgstr "Повноекранний режим"
msgid "Last updated on"
msgstr "Останнє оновлення:"
msgid "Launch"
msgstr "Запуск"
msgid "Open an issue"
msgstr "Відкрийте випуск"
msgid "Print to PDF"
msgstr "Друк у форматі PDF"
msgid "Source repository"
msgstr "Джерело сховища"
msgid "Sphinx Book Theme"
msgstr "Тема книги \"Сфінкс\""
msgid "Theme by the"
msgstr "Тема від"
msgid "Toggle navigation"
msgstr "Переключити навігацію"
msgid "next page"
msgstr "Наступна сторінка"
msgid "open issue"
msgstr "відкритий випуск"
msgid "previous page"
msgstr "Попередня сторінка"
msgid "repository"
msgstr "сховище"
msgid "suggest edit"
msgstr "запропонувати редагувати"

View File

@ -8,14 +8,53 @@ msgstr ""
"Language: ur\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "By the"
msgstr "کی طرف"
msgid "By"
msgstr "بذریعہ"
msgid "Copyright"
msgstr "کاپی رائٹ"
msgid "Download notebook file"
msgstr "نوٹ بک فائل ڈاؤن لوڈ کریں"
msgid "Download source file"
msgstr "سورس فائل ڈاؤن لوڈ کریں"
msgid "Download this page"
msgstr "اس صفحے کو ڈاؤن لوڈ کریں"
msgid "Edit this page"
msgstr "اس صفحے میں ترمیم کریں"
msgid "Last updated on"
msgstr "آخری بار تازہ کاری ہوئی"
msgid "Launch"
msgstr "لانچ کریں"
msgid "Open an issue"
msgstr "ایک مسئلہ کھولیں"
msgid "Print to PDF"
msgstr "پی ڈی ایف پرنٹ کریں"
msgid "Source repository"
msgstr "ماخذ ذخیرہ"
msgid "Sphinx Book Theme"
msgstr "سپنکس بک تھیم"
msgid "Theme by the"
msgstr "کے ذریعہ تھیم"
msgid "Download source file"
msgstr "سورس فائل ڈاؤن لوڈ کریں"
msgid "Toggle navigation"
msgstr "نیویگیشن ٹوگل کریں"
msgid "next page"
msgstr "اگلا صفحہ"
msgid "open issue"
msgstr "کھلا مسئلہ"
@ -23,44 +62,5 @@ msgstr "کھلا مسئلہ"
msgid "previous page"
msgstr "سابقہ ​​صفحہ"
msgid "Download notebook file"
msgstr "نوٹ بک فائل ڈاؤن لوڈ کریں"
msgid "Copyright"
msgstr "کاپی رائٹ"
msgid "Download this page"
msgstr "اس صفحے کو ڈاؤن لوڈ کریں"
msgid "Source repository"
msgstr "ماخذ ذخیرہ"
msgid "By"
msgstr "بذریعہ"
msgid "Last updated on"
msgstr "آخری بار تازہ کاری ہوئی"
msgid "Toggle navigation"
msgstr "نیویگیشن ٹوگل کریں"
msgid "Sphinx Book Theme"
msgstr "سپنکس بک تھیم"
msgid "suggest edit"
msgstr "ترمیم کی تجویز کریں"
msgid "Open an issue"
msgstr "ایک مسئلہ کھولیں"
msgid "Launch"
msgstr "لانچ کریں"
msgid "Edit this page"
msgstr "اس صفحے میں ترمیم کریں"
msgid "By the"
msgstr "کی طرف"
msgid "next page"
msgstr "اگلا صفحہ"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: vi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "In sang PDF"
msgid "Theme by the"
msgstr "Chủ đề của"
msgid "Download source file"
msgstr "Tải xuống tệp nguồn"
msgid "open issue"
msgstr "vấn đề mở"
msgid "Contents"
msgstr "Nội dung"
msgid "previous page"
msgstr "trang trước"
msgid "Download notebook file"
msgstr "Tải xuống tệp sổ tay"
msgid "Copyright"
msgstr "Bản quyền"
msgid "Download this page"
msgstr "Tải xuống trang này"
msgid "Source repository"
msgstr "Kho nguồn"
msgid "By the"
msgstr "Bằng"
msgid "By"
msgstr "Bởi"
msgid "repository"
msgstr "kho"
msgid "Contents"
msgstr "Nội dung"
msgid "Last updated on"
msgstr "Cập nhật lần cuối vào"
msgid "Copyright"
msgstr "Bản quyền"
msgid "Toggle navigation"
msgstr "Chuyển đổi điều hướng thành"
msgid "Download notebook file"
msgstr "Tải xuống tệp sổ tay"
msgid "Sphinx Book Theme"
msgstr "Chủ đề sách nhân sư"
msgid "Download source file"
msgstr "Tải xuống tệp nguồn"
msgid "suggest edit"
msgstr "đề nghị chỉnh sửa"
msgid "Open an issue"
msgstr "Mở một vấn đề"
msgid "Launch"
msgstr "Phóng"
msgid "Fullscreen mode"
msgstr "Chế độ toàn màn hình"
msgid "Download this page"
msgstr "Tải xuống trang này"
msgid "Edit this page"
msgstr "chỉnh sửa trang này"
msgid "By the"
msgstr "Bằng"
msgid "Fullscreen mode"
msgstr "Chế độ toàn màn hình"
msgid "Last updated on"
msgstr "Cập nhật lần cuối vào"
msgid "Launch"
msgstr "Phóng"
msgid "Open an issue"
msgstr "Mở một vấn đề"
msgid "Print to PDF"
msgstr "In sang PDF"
msgid "Source repository"
msgstr "Kho nguồn"
msgid "Sphinx Book Theme"
msgstr "Chủ đề sách nhân sư"
msgid "Theme by the"
msgstr "Chủ đề của"
msgid "Toggle navigation"
msgstr "Chuyển đổi điều hướng thành"
msgid "next page"
msgstr "Trang tiếp theo"
msgid "open issue"
msgstr "vấn đề mở"
msgid "previous page"
msgstr "trang trước"
msgid "repository"
msgstr "kho"
msgid "suggest edit"
msgstr "đề nghị chỉnh sửa"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: zh_CN\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "列印成 PDF"
msgid "Theme by the"
msgstr "主题作者:"
msgid "Download source file"
msgstr "下载源文件"
msgid "open issue"
msgstr "创建议题"
msgid "Contents"
msgstr "目录"
msgid "previous page"
msgstr "上一页"
msgid "Download notebook file"
msgstr "下载笔记本文件"
msgid "Copyright"
msgstr "版权"
msgid "Download this page"
msgstr "下载此页面"
msgid "Source repository"
msgstr "源码库"
msgid "By the"
msgstr "作者:"
msgid "By"
msgstr "作者:"
msgid "repository"
msgstr "仓库"
msgid "Contents"
msgstr "目录"
msgid "Last updated on"
msgstr "上次更新时间:"
msgid "Copyright"
msgstr "版权"
msgid "Toggle navigation"
msgstr "显示或隐藏导航栏"
msgid "Download notebook file"
msgstr "下载笔记本文件"
msgid "Sphinx Book Theme"
msgstr "Sphinx Book 主题"
msgid "Download source file"
msgstr "下载源文件"
msgid "suggest edit"
msgstr "提出修改建议"
msgid "Open an issue"
msgstr "创建议题"
msgid "Launch"
msgstr "启动"
msgid "Fullscreen mode"
msgstr "全屏模式"
msgid "Download this page"
msgstr "下载此页面"
msgid "Edit this page"
msgstr "编辑此页面"
msgid "By the"
msgstr "作者:"
msgid "Fullscreen mode"
msgstr "全屏模式"
msgid "Last updated on"
msgstr "上次更新时间:"
msgid "Launch"
msgstr "启动"
msgid "Open an issue"
msgstr "创建议题"
msgid "Print to PDF"
msgstr "列印成 PDF"
msgid "Source repository"
msgstr "源码库"
msgid "Sphinx Book Theme"
msgstr "Sphinx Book 主题"
msgid "Theme by the"
msgstr "主题作者:"
msgid "Toggle navigation"
msgstr "显示或隐藏导航栏"
msgid "next page"
msgstr "下一页"
msgid "open issue"
msgstr "创建议题"
msgid "previous page"
msgstr "上一页"
msgid "repository"
msgstr "仓库"
msgid "suggest edit"
msgstr "提出修改建议"

View File

@ -8,68 +8,68 @@ msgstr ""
"Language: zh_TW\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Print to PDF"
msgstr "列印成 PDF"
msgid "Theme by the"
msgstr "佈景主題作者:"
msgid "Download source file"
msgstr "下載原始檔"
msgid "open issue"
msgstr "公開的問題"
msgid "Contents"
msgstr "目錄"
msgid "previous page"
msgstr "上一頁"
msgid "Download notebook file"
msgstr "下載 Notebook 檔案"
msgid "Copyright"
msgstr "Copyright"
msgid "Download this page"
msgstr "下載此頁面"
msgid "Source repository"
msgstr "來源儲存庫"
msgid "By the"
msgstr "作者:"
msgid "By"
msgstr "作者:"
msgid "repository"
msgstr "儲存庫"
msgid "Contents"
msgstr "目錄"
msgid "Last updated on"
msgstr "最後更新時間:"
msgid "Copyright"
msgstr "Copyright"
msgid "Toggle navigation"
msgstr "顯示或隱藏導覽列"
msgid "Download notebook file"
msgstr "下載 Notebook 檔案"
msgid "Sphinx Book Theme"
msgstr "Sphinx Book 佈景主題"
msgid "Download source file"
msgstr "下載原始檔"
msgid "suggest edit"
msgstr "提出修改建議"
msgid "Open an issue"
msgstr "開啟議題"
msgid "Launch"
msgstr "啟動"
msgid "Fullscreen mode"
msgstr "全螢幕模式"
msgid "Download this page"
msgstr "下載此頁面"
msgid "Edit this page"
msgstr "編輯此頁面"
msgid "By the"
msgstr "作者:"
msgid "Fullscreen mode"
msgstr "全螢幕模式"
msgid "Last updated on"
msgstr "最後更新時間:"
msgid "Launch"
msgstr "啟動"
msgid "Open an issue"
msgstr "開啟議題"
msgid "Print to PDF"
msgstr "列印成 PDF"
msgid "Source repository"
msgstr "來源儲存庫"
msgid "Sphinx Book Theme"
msgstr "Sphinx Book 佈景主題"
msgid "Theme by the"
msgstr "佈景主題作者:"
msgid "Toggle navigation"
msgstr "顯示或隱藏導覽列"
msgid "next page"
msgstr "下一頁"
msgid "open issue"
msgstr "公開的問題"
msgid "previous page"
msgstr "上一頁"
msgid "repository"
msgstr "儲存庫"
msgid "suggest edit"
msgstr "提出修改建議"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,165 @@
Fonticons, Inc. (https://fontawesome.com)
--------------------------------------------------------------------------------
Font Awesome Free License
Font Awesome Free is free, open source, and GPL friendly. You can use it for
commercial projects, open source projects, or really almost whatever you want.
Full Font Awesome Free license: https://fontawesome.com/license/free.
--------------------------------------------------------------------------------
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
The Font Awesome Free download is licensed under a Creative Commons
Attribution 4.0 International License and applies to all icons packaged
as SVG and JS file types.
--------------------------------------------------------------------------------
# Fonts: SIL OFL 1.1 License
In the Font Awesome Free download, the SIL OFL license applies to all icons
packaged as web and desktop font files.
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
with Reserved Font Name: "Font Awesome".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
SIL OPEN FONT LICENSE
Version 1.1 - 26 February 2007
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting — in part or in whole — any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
--------------------------------------------------------------------------------
# Code: MIT License (https://opensource.org/licenses/MIT)
In the Font Awesome Free download, the MIT license applies to all non-font and
non-icon files.
Copyright 2024 Fonticons, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in the
Software without restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
# Attribution
Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
Awesome Free files already contain embedded comments with sufficient
attribution, so you shouldn't need to do anything additional when using these
files normally.
We've kept attribution comments terse, so we ask that you do not actively work
to remove them from files, especially code. They're a great way for folks to
learn about Font Awesome.
--------------------------------------------------------------------------------
# Brand Icons
All brand icons are trademarks of their respective owners. The use of these
trademarks does not indicate endorsement of the trademark holder by Font
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
to represent the company, product, or service to which they refer.**

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,23 +2,30 @@
AUTO-GENERATED from webpack.config.js, do **NOT** edit by hand.
These are re-used in layout.html
-->
{# Load FontAwesome icons #}
{% macro head_pre_icons() %}
<link href="{{ pathto('_static/vendor/fontawesome/6.5.2/css/all.min.css', 1) }}?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ pathto('_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2', 1) }}" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ pathto('_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2', 1) }}" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="{{ pathto('_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2', 1) }}" />
{% endmacro %}
{% macro head_pre_assets() %}
<!-- Loaded before other Sphinx assets -->
<link href="{{ pathto('_static/styles/theme.css', 1) }}?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="{{ pathto('_static/styles/pydata-sphinx-theme.css', 1) }}?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="{{ pathto('_static/styles/theme.css', 1) }}?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="{{ pathto('_static/styles/bootstrap.css', 1) }}?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="{{ pathto('_static/styles/pydata-sphinx-theme.css', 1) }}?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
{% endmacro %}
{% macro head_js_preload() %}
<!-- So that users can add custom icons -->
<script src="{{ pathto('_static/scripts/fontawesome.js', 1) }}?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="{{ pathto('_static/scripts/bootstrap.js', 1) }}?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="{{ pathto('_static/scripts/pydata-sphinx-theme.js', 1) }}?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="{{ pathto('_static/scripts/bootstrap.js', 1) }}?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="{{ pathto('_static/scripts/pydata-sphinx-theme.js', 1) }}?digest=dfe6caa3a7d634c4db9b" />
<script src="{{ pathto('_static/vendor/fontawesome/6.5.2/js/all.min.js', 1) }}?digest=dfe6caa3a7d634c4db9b"></script>
{% endmacro %}
{% macro body_post() %}
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="{{ pathto('_static/scripts/bootstrap.js', 1) }}?digest=8878045cc6db502f8baf"></script>
<script defer src="{{ pathto('_static/scripts/pydata-sphinx-theme.js', 1) }}?digest=8878045cc6db502f8baf"></script>
<script src="{{ pathto('_static/scripts/bootstrap.js', 1) }}?digest=dfe6caa3a7d634c4db9b"></script>
<script src="{{ pathto('_static/scripts/pydata-sphinx-theme.js', 1) }}?digest=dfe6caa3a7d634c4db9b"></script>
{% endmacro %}

View File

@ -142,9 +142,9 @@ Namespaces</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad583e6038efc119542410f43b603d4ad" id="r_ad583e6038efc119542410f43b603d4ad"><td class="memTemplParams" colspan="2">template&lt;typename T, typename U, int M, int N, int K&gt; </td></tr>
<tr class="memitem:ad583e6038efc119542410f43b603d4ad"><td class="memTemplItemLeft" align="right" valign="top">METAL_FUNC void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1steel.html#ad583e6038efc119542410f43b603d4ad">mlx::steel::tile_matmad</a> (thread <a class="el" href="structmlx_1_1steel_1_1_m_m_a_tile.html">MMATile</a>&lt; T, M, N &gt; &amp;D, thread <a class="el" href="structmlx_1_1steel_1_1_m_m_a_tile.html">MMATile</a>&lt; U, M, K &gt; &amp;A, thread <a class="el" href="structmlx_1_1steel_1_1_m_m_a_tile.html">MMATile</a>&lt; U, K, N &gt; &amp;B, thread <a class="el" href="structmlx_1_1steel_1_1_m_m_a_tile.html">MMATile</a>&lt; T, M, N &gt; &amp;C)</td></tr>
<tr class="separator:ad583e6038efc119542410f43b603d4ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9fdcb06fb1f639f9120ab14cfedd150" id="r_ab9fdcb06fb1f639f9120ab14cfedd150"><td class="memTemplParams" colspan="2">template&lt;typename Dtype, typename Atype, typename Btype, typename Ctype, int M, int N, int K, class MMAFragD, class MMAFragA, class MMAFragB, class MMAFragC&gt; </td></tr>
<tr class="memitem:ab9fdcb06fb1f639f9120ab14cfedd150"><td class="memTemplItemLeft" align="right" valign="top">METAL_FUNC void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1steel.html#ab9fdcb06fb1f639f9120ab14cfedd150">mlx::steel::tile_matmad</a> (thread <a class="el" href="structmlx_1_1steel_1_1_m_m_a_tile.html">MMATile</a>&lt; Dtype, M, N, MMAFragD &gt; &amp;D, thread <a class="el" href="structmlx_1_1steel_1_1_m_m_a_tile.html">MMATile</a>&lt; Atype, M, K, MMAFragA &gt; &amp;A, thread <a class="el" href="structmlx_1_1steel_1_1_m_m_a_tile.html">MMATile</a>&lt; Btype, K, N, MMAFragB &gt; &amp;B, thread <a class="el" href="structmlx_1_1steel_1_1_m_m_a_tile.html">MMATile</a>&lt; Ctype, M, N, MMAFragC &gt; &amp;C)</td></tr>
<tr class="separator:ab9fdcb06fb1f639f9120ab14cfedd150"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -6,5 +6,5 @@ var attn_2mma_8h =
[ "mlx::steel::BaseMMAFrag< T, 8, 8 >", "structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html", "structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4" ],
[ "mlx::steel::MMATile< T, kTileRows_, kTileCols_, MMAFrag_ >", "structmlx_1_1steel_1_1_m_m_a_tile.html", "structmlx_1_1steel_1_1_m_m_a_tile" ],
[ "mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >", "structmlx_1_1steel_1_1_block_m_m_a.html", "structmlx_1_1steel_1_1_block_m_m_a" ],
[ "mlx::steel::tile_matmad", "namespacemlx_1_1steel.html#ad583e6038efc119542410f43b603d4ad", null ]
[ "mlx::steel::tile_matmad", "namespacemlx_1_1steel.html#ab9fdcb06fb1f639f9120ab14cfedd150", null ]
];

File diff suppressed because it is too large Load Diff

View File

@ -418,7 +418,7 @@ $(function(){initNavTree('attn_8h_source.html',''); initResizable(true); });
<div class="ttc" id="asteel_2defines_8h_html_a90b91c866313ffa46eff6d9cc944ad2b"><div class="ttname"><a href="steel_2defines_8h.html#a90b91c866313ffa46eff6d9cc944ad2b">STEEL_CONST</a></div><div class="ttdeci">#define STEEL_CONST</div><div class="ttdef"><b>Definition</b> defines.h:3</div></div>
<div class="ttc" id="astructmlx_1_1steel_1_1_accum_helper_html_ae52abf69e7ba6af1a73d65d57182ed26"><div class="ttname"><a href="structmlx_1_1steel_1_1_accum_helper.html#ae52abf69e7ba6af1a73d65d57182ed26">mlx::steel::AccumHelper::accum_type</a></div><div class="ttdeci">float accum_type</div><div class="ttdef"><b>Definition</b> transforms.h:57</div></div>
<div class="ttc" id="astructmlx_1_1steel_1_1_block_loader_html"><div class="ttname"><a href="structmlx_1_1steel_1_1_block_loader.html">mlx::steel::BlockLoader</a></div><div class="ttdef"><b>Definition</b> loader.h:25</div></div>
<div class="ttc" id="astructmlx_1_1steel_1_1_block_m_m_a_html"><div class="ttname"><a href="structmlx_1_1steel_1_1_block_m_m_a.html">mlx::steel::BlockMMA</a></div><div class="ttdef"><b>Definition</b> mma.h:449</div></div>
<div class="ttc" id="astructmlx_1_1steel_1_1_block_m_m_a_html"><div class="ttname"><a href="structmlx_1_1steel_1_1_block_m_m_a.html">mlx::steel::BlockMMA</a></div><div class="ttdef"><b>Definition</b> mma.h:470</div></div>
<div class="ttc" id="astructmlx_1_1steel_1_1_g_e_m_m_kernel_html"><div class="ttname"><a href="structmlx_1_1steel_1_1_g_e_m_m_kernel.html">mlx::steel::GEMMKernel</a></div><div class="ttdef"><b>Definition</b> attn.h:38</div></div>
<div class="ttc" id="astructmlx_1_1steel_1_1_g_e_m_m_kernel_html_a00e55d4a161758350ed7310817d2d2a5"><div class="ttname"><a href="structmlx_1_1steel_1_1_g_e_m_m_kernel.html#a00e55d4a161758350ed7310817d2d2a5">mlx::steel::GEMMKernel::run</a></div><div class="ttdeci">static METAL_FUNC void run(const device T *A, const device T *B, device U *D, const constant GEMMParams *params, threadgroup T *As, threadgroup T *Bs, uint simd_lane_id, uint simd_group_id, uint3 tid, uint3 lid)</div><div class="ttdef"><b>Definition</b> attn.h:141</div></div>
<div class="ttc" id="astructmlx_1_1steel_1_1_g_e_m_m_kernel_html_a105af1069668028c6f1bc6d6dd162298"><div class="ttname"><a href="structmlx_1_1steel_1_1_g_e_m_m_kernel.html#a105af1069668028c6f1bc6d6dd162298">mlx::steel::GEMMKernel::tgp_mem_size_b</a></div><div class="ttdeci">STEEL_CONST short tgp_mem_size_b</div><div class="ttdef"><b>Definition</b> attn.h:43</div></div>

View File

@ -151,91 +151,100 @@ $(function(){initNavTree('backend_2metal_2allocator_8h_source.html',''); initRes
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordtype">void</span> remove_from_list(BufferHolder* to_remove);</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> MTL::Device* device_;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> std::multimap&lt;size_t, BufferHolder*&gt; buffer_pool_;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> BufferHolder* head_;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> BufferHolder* tail_;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">size_t</span> pool_size_;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>};</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>} <span class="comment">// namespace</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="foldopen" id="foldopen00055" data-start="{" data-end="};">
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html"> 55</a></span><span class="keyword">class </span>MetalAllocator : <span class="keyword">public</span> <a class="code hl_class" href="classmlx_1_1core_1_1allocator_1_1_allocator.html">allocator::Allocator</a> {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a6c0feb9b1ff9977f76c69745393944bc"> 58</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classmlx_1_1core_1_1allocator_1_1_buffer.html">Buffer</a> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a6c0feb9b1ff9977f76c69745393944bc">malloc</a>(<span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05">size</a>, <span class="keywordtype">bool</span> allow_swap = <span class="keyword">false</span>) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a109a0a37fb0b3be381a62dc3b1a54bf0"> 59</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a109a0a37fb0b3be381a62dc3b1a54bf0">free</a>(<a class="code hl_class" href="classmlx_1_1core_1_1allocator_1_1_buffer.html">Buffer</a> buffer) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05"> 60</a></span> <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05">size</a>(<a class="code hl_class" href="classmlx_1_1core_1_1allocator_1_1_buffer.html">Buffer</a> buffer) <span class="keyword">const override</span>;</div>
<div class="foldopen" id="foldopen00061" data-start="{" data-end="}">
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a7a3ad4e33d57a47474c98e2f88e775d7"> 61</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a7a3ad4e33d57a47474c98e2f88e775d7">get_active_memory</a>() {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> active_memory_;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> };</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> MTL::Heap* heap_{<span class="keyword">nullptr</span>};</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> std::multimap&lt;size_t, BufferHolder*&gt; buffer_pool_;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> BufferHolder* head_;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> BufferHolder* tail_;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">size_t</span> pool_size_;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>};</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span>} <span class="comment">// namespace</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="foldopen" id="foldopen00056" data-start="{" data-end="};">
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html"> 56</a></span><span class="keyword">class </span>MetalAllocator : <span class="keyword">public</span> <a class="code hl_class" href="classmlx_1_1core_1_1allocator_1_1_allocator.html">allocator::Allocator</a> {</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a6c0feb9b1ff9977f76c69745393944bc"> 59</a></span> <span class="keyword">virtual</span> <a class="code hl_class" href="classmlx_1_1core_1_1allocator_1_1_buffer.html">Buffer</a> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a6c0feb9b1ff9977f76c69745393944bc">malloc</a>(<span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05">size</a>, <span class="keywordtype">bool</span> allow_swap = <span class="keyword">false</span>) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a109a0a37fb0b3be381a62dc3b1a54bf0"> 60</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a109a0a37fb0b3be381a62dc3b1a54bf0">free</a>(<a class="code hl_class" href="classmlx_1_1core_1_1allocator_1_1_buffer.html">Buffer</a> buffer) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05"> 61</a></span> <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05">size</a>(<a class="code hl_class" href="classmlx_1_1core_1_1allocator_1_1_buffer.html">Buffer</a> buffer) <span class="keyword">const override</span>;</div>
<div class="foldopen" id="foldopen00062" data-start="{" data-end="}">
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a7a3ad4e33d57a47474c98e2f88e775d7"> 62</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a7a3ad4e33d57a47474c98e2f88e775d7">get_active_memory</a>() {</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span> active_memory_;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> };</div>
</div>
<div class="foldopen" id="foldopen00064" data-start="{" data-end="}">
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ac7972a3fe58e69489de775a0f152da17"> 64</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ac7972a3fe58e69489de775a0f152da17">get_peak_memory</a>() {</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> peak_memory_;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> };</div>
<div class="foldopen" id="foldopen00065" data-start="{" data-end="}">
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ac7972a3fe58e69489de775a0f152da17"> 65</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ac7972a3fe58e69489de775a0f152da17">get_peak_memory</a>() {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> peak_memory_;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> };</div>
</div>
<div class="foldopen" id="foldopen00067" data-start="{" data-end="}">
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a26b9c8ac7ed56c3bb7ddc194009ec5a6"> 67</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a26b9c8ac7ed56c3bb7ddc194009ec5a6">reset_peak_memory</a>() {</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> std::unique_lock lk(mutex_);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> peak_memory_ = 0;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> };</div>
<div class="foldopen" id="foldopen00068" data-start="{" data-end="}">
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a26b9c8ac7ed56c3bb7ddc194009ec5a6"> 68</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a26b9c8ac7ed56c3bb7ddc194009ec5a6">reset_peak_memory</a>() {</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> std::unique_lock lk(mutex_);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> peak_memory_ = 0;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> };</div>
</div>
<div class="foldopen" id="foldopen00071" data-start="{" data-end="}">
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ad3cabbe638917ca4114eb74dcabe381f"> 71</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ad3cabbe638917ca4114eb74dcabe381f">get_cache_memory</a>() {</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">return</span> buffer_cache_.cache_size();</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> };</div>
<div class="foldopen" id="foldopen00072" data-start="{" data-end="}">
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ad3cabbe638917ca4114eb74dcabe381f"> 72</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ad3cabbe638917ca4114eb74dcabe381f">get_cache_memory</a>() {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">return</span> buffer_cache_.cache_size();</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> };</div>
</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#af392bced29d9e4e3f1a7cc4725d83764"> 74</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#af392bced29d9e4e3f1a7cc4725d83764">set_cache_limit</a>(<span class="keywordtype">size_t</span> limit);</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a179e3127ef9377ce54295f771c34ba1b"> 75</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a179e3127ef9377ce54295f771c34ba1b">set_memory_limit</a>(<span class="keywordtype">size_t</span> limit, <span class="keywordtype">bool</span> relaxed);</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a84fa0347da18055bc13ba0a5c4b57253"> 76</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a84fa0347da18055bc13ba0a5c4b57253">set_wired_limit</a>(<span class="keywordtype">size_t</span> limit);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a447c1eb38c00d2e8e521675297f4a9b1"> 77</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a447c1eb38c00d2e8e521675297f4a9b1">clear_cache</a>();</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> MTL::Device* device_;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> MetalAllocator();</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#afa1c5a725309caff163c492b5b84491e"> 82</a></span> <span class="keyword">friend</span> MetalAllocator&amp; <a class="code hl_friend" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#afa1c5a725309caff163c492b5b84491e">allocator</a>();</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="comment">// Caching allocator</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> BufferCache buffer_cache_;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_residency_set.html">ResidencySet</a> residency_set_;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// Allocation stats</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">size_t</span> block_limit_;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">size_t</span> gc_limit_;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">size_t</span> active_memory_{0};</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">size_t</span> peak_memory_{0};</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">size_t</span> max_pool_size_;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">size_t</span> wired_limit_{0};</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">bool</span> relaxed_{<span class="keyword">true</span>};</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">size_t</span> num_resources_{0};</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">size_t</span> resource_limit_{0};</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> std::mutex mutex_;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span>};</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#af392bced29d9e4e3f1a7cc4725d83764"> 75</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#af392bced29d9e4e3f1a7cc4725d83764">set_cache_limit</a>(<span class="keywordtype">size_t</span> limit);</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a179e3127ef9377ce54295f771c34ba1b"> 76</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a179e3127ef9377ce54295f771c34ba1b">set_memory_limit</a>(<span class="keywordtype">size_t</span> limit, <span class="keywordtype">bool</span> relaxed);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a84fa0347da18055bc13ba0a5c4b57253"> 77</a></span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a84fa0347da18055bc13ba0a5c4b57253">set_wired_limit</a>(<span class="keywordtype">size_t</span> limit);</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a447c1eb38c00d2e8e521675297f4a9b1"> 78</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a447c1eb38c00d2e8e521675297f4a9b1">clear_cache</a>();</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> MTL::Device* device_;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// The size of allocations which go on the heap until it is full. This size</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="comment">// is chosen because it is the actual minimum size of a buffer allocated from</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="comment">// the heap, a heap can have at most heap.size() / 256 buffers.</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">int</span> small_size_ = 256;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">int</span> heap_size_ = 1 &lt;&lt; 20;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> MTL::Heap* heap_;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> MetalAllocator();</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> ~MetalAllocator();</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#afa1c5a725309caff163c492b5b84491e"> 91</a></span> <span class="keyword">friend</span> MetalAllocator&amp; <a class="code hl_friend" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#afa1c5a725309caff163c492b5b84491e">allocator</a>();</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// Caching allocator</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> BufferCache buffer_cache_;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_residency_set.html">ResidencySet</a> residency_set_;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// Allocation stats</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">size_t</span> block_limit_;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">size_t</span> gc_limit_;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">size_t</span> active_memory_{0};</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">size_t</span> peak_memory_{0};</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">size_t</span> max_pool_size_;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">size_t</span> wired_limit_{0};</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">bool</span> relaxed_{<span class="keyword">true</span>};</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">size_t</span> num_resources_{0};</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">size_t</span> resource_limit_{0};</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> std::mutex mutex_;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>};</div>
</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core_1_1metal.html#a74b3558bd518aecde6b14b0ba5e1a0d5"> 103</a></span><a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html">MetalAllocator</a>&amp; <a class="code hl_function" href="namespacemlx_1_1core_1_1metal.html#a74b3558bd518aecde6b14b0ba5e1a0d5">allocator</a>();</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span>} <span class="comment">// namespace mlx::core::metal</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core_1_1metal.html#a74b3558bd518aecde6b14b0ba5e1a0d5"> 112</a></span><a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html">MetalAllocator</a>&amp; <a class="code hl_function" href="namespacemlx_1_1core_1_1metal.html#a74b3558bd518aecde6b14b0ba5e1a0d5">allocator</a>();</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span>} <span class="comment">// namespace mlx::core::metal</span></div>
</div>
<div class="ttc" id="aallocator_8h_html"><div class="ttname"><a href="allocator_8h.html">allocator.h</a></div></div>
<div class="ttc" id="abackend_2metal_2device_8h_html"><div class="ttname"><a href="backend_2metal_2device_8h.html">device.h</a></div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1allocator_1_1_allocator_html"><div class="ttname"><a href="classmlx_1_1core_1_1allocator_1_1_allocator.html">mlx::core::allocator::Allocator</a></div><div class="ttdef"><b>Definition</b> allocator.h:39</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1allocator_1_1_buffer_html"><div class="ttname"><a href="classmlx_1_1core_1_1allocator_1_1_buffer.html">mlx::core::allocator::Buffer</a></div><div class="ttdef"><b>Definition</b> allocator.h:12</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html">mlx::core::metal::MetalAllocator</a></div><div class="ttdef"><b>Definition</b> allocator.h:55</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html">mlx::core::metal::MetalAllocator</a></div><div class="ttdef"><b>Definition</b> allocator.h:56</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a109a0a37fb0b3be381a62dc3b1a54bf0"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a109a0a37fb0b3be381a62dc3b1a54bf0">mlx::core::metal::MetalAllocator::free</a></div><div class="ttdeci">virtual void free(Buffer buffer) override</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a179e3127ef9377ce54295f771c34ba1b"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a179e3127ef9377ce54295f771c34ba1b">mlx::core::metal::MetalAllocator::set_memory_limit</a></div><div class="ttdeci">size_t set_memory_limit(size_t limit, bool relaxed)</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a26b9c8ac7ed56c3bb7ddc194009ec5a6"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a26b9c8ac7ed56c3bb7ddc194009ec5a6">mlx::core::metal::MetalAllocator::reset_peak_memory</a></div><div class="ttdeci">void reset_peak_memory()</div><div class="ttdef"><b>Definition</b> allocator.h:67</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a26b9c8ac7ed56c3bb7ddc194009ec5a6"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a26b9c8ac7ed56c3bb7ddc194009ec5a6">mlx::core::metal::MetalAllocator::reset_peak_memory</a></div><div class="ttdeci">void reset_peak_memory()</div><div class="ttdef"><b>Definition</b> allocator.h:68</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a447c1eb38c00d2e8e521675297f4a9b1"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a447c1eb38c00d2e8e521675297f4a9b1">mlx::core::metal::MetalAllocator::clear_cache</a></div><div class="ttdeci">void clear_cache()</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a51f6587e8065be16f0418ca42a796e05"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05">mlx::core::metal::MetalAllocator::size</a></div><div class="ttdeci">virtual size_t size(Buffer buffer) const override</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a6c0feb9b1ff9977f76c69745393944bc"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a6c0feb9b1ff9977f76c69745393944bc">mlx::core::metal::MetalAllocator::malloc</a></div><div class="ttdeci">virtual Buffer malloc(size_t size, bool allow_swap=false) override</div><div class="ttdoc">Allocator for Metal GPUs.</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a7a3ad4e33d57a47474c98e2f88e775d7"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a7a3ad4e33d57a47474c98e2f88e775d7">mlx::core::metal::MetalAllocator::get_active_memory</a></div><div class="ttdeci">size_t get_active_memory()</div><div class="ttdef"><b>Definition</b> allocator.h:61</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a7a3ad4e33d57a47474c98e2f88e775d7"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a7a3ad4e33d57a47474c98e2f88e775d7">mlx::core::metal::MetalAllocator::get_active_memory</a></div><div class="ttdeci">size_t get_active_memory()</div><div class="ttdef"><b>Definition</b> allocator.h:62</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_a84fa0347da18055bc13ba0a5c4b57253"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a84fa0347da18055bc13ba0a5c4b57253">mlx::core::metal::MetalAllocator::set_wired_limit</a></div><div class="ttdeci">size_t set_wired_limit(size_t limit)</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_ac7972a3fe58e69489de775a0f152da17"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ac7972a3fe58e69489de775a0f152da17">mlx::core::metal::MetalAllocator::get_peak_memory</a></div><div class="ttdeci">size_t get_peak_memory()</div><div class="ttdef"><b>Definition</b> allocator.h:64</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_ad3cabbe638917ca4114eb74dcabe381f"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ad3cabbe638917ca4114eb74dcabe381f">mlx::core::metal::MetalAllocator::get_cache_memory</a></div><div class="ttdeci">size_t get_cache_memory()</div><div class="ttdef"><b>Definition</b> allocator.h:71</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_ac7972a3fe58e69489de775a0f152da17"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ac7972a3fe58e69489de775a0f152da17">mlx::core::metal::MetalAllocator::get_peak_memory</a></div><div class="ttdeci">size_t get_peak_memory()</div><div class="ttdef"><b>Definition</b> allocator.h:65</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_ad3cabbe638917ca4114eb74dcabe381f"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#ad3cabbe638917ca4114eb74dcabe381f">mlx::core::metal::MetalAllocator::get_cache_memory</a></div><div class="ttdeci">size_t get_cache_memory()</div><div class="ttdef"><b>Definition</b> allocator.h:72</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_af392bced29d9e4e3f1a7cc4725d83764"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#af392bced29d9e4e3f1a7cc4725d83764">mlx::core::metal::MetalAllocator::set_cache_limit</a></div><div class="ttdeci">size_t set_cache_limit(size_t limit)</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_metal_allocator_html_afa1c5a725309caff163c492b5b84491e"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_metal_allocator.html#afa1c5a725309caff163c492b5b84491e">mlx::core::metal::MetalAllocator::allocator</a></div><div class="ttdeci">friend MetalAllocator &amp; allocator()</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_residency_set_html"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_residency_set.html">mlx::core::metal::ResidencySet</a></div><div class="ttdef"><b>Definition</b> resident.h:9</div></div>

View File

@ -328,107 +328,110 @@ $(function(){initNavTree('backend_2metal_2device_8h_source.html',''); initResiza
</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67"> 180</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67">new_queue</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a5fe3970fbe92ccc55fce4241ffbe5210"> 181</a></span> MTL::CommandBuffer* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a5fe3970fbe92ccc55fce4241ffbe5210">get_command_buffer</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a2580a395419fa6735e8ca5a67495700e"> 182</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a2580a395419fa6735e8ca5a67495700e">command_buffer_needs_commit</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a95248f1387824067fd4fed23ace5ac0c"> 183</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a95248f1387824067fd4fed23ace5ac0c">commit_command_buffer</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#affa682ef612def4890f5152f81ffb7e6"> 184</a></span> <a class="code hl_struct" href="structmlx_1_1core_1_1metal_1_1_command_encoder.html">CommandEncoder</a>&amp; <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#affa682ef612def4890f5152f81ffb7e6">get_command_encoder</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a60689f97347811b27e8c5ca23e0372bf"> 185</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a60689f97347811b27e8c5ca23e0372bf">end_encoding</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a45945f2efcd242d915ffa2171e92bf9d"> 187</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a45945f2efcd242d915ffa2171e92bf9d">register_library</a>(</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">const</span> std::string&amp; lib_name,</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">const</span> std::string&amp; lib_path);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="comment">// Note, this should remain in the header so that it is not dynamically</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="comment">// linked</span></div>
<div class="foldopen" id="foldopen00193" data-start="{" data-end="}">
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf"> 193</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf">register_library</a>(<span class="keyword">const</span> std::string&amp; lib_name) {</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> it = library_map_.find(lib_name); it == library_map_.end()) {</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a45945f2efcd242d915ffa2171e92bf9d">register_library</a>(lib_name, <a class="code hl_function" href="namespacemlx_1_1core_1_1metal.html#a5fd6ba2040e53a254b9d71ae7ebd315f">get_colocated_mtllib_path</a>(lib_name));</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> }</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> }</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#ab5f96b1d702e6c5e2d4228c1f2b19a00"> 182</a></span> MTL::CommandQueue* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#ab5f96b1d702e6c5e2d4228c1f2b19a00">get_queue</a>(<a class="code hl_struct" href="structmlx_1_1core_1_1_stream.html">Stream</a> stream);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a5fe3970fbe92ccc55fce4241ffbe5210"> 184</a></span> MTL::CommandBuffer* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a5fe3970fbe92ccc55fce4241ffbe5210">get_command_buffer</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a2580a395419fa6735e8ca5a67495700e"> 185</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a2580a395419fa6735e8ca5a67495700e">command_buffer_needs_commit</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a95248f1387824067fd4fed23ace5ac0c"> 186</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a95248f1387824067fd4fed23ace5ac0c">commit_command_buffer</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#affa682ef612def4890f5152f81ffb7e6"> 187</a></span> <a class="code hl_struct" href="structmlx_1_1core_1_1metal_1_1_command_encoder.html">CommandEncoder</a>&amp; <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#affa682ef612def4890f5152f81ffb7e6">get_command_encoder</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a60689f97347811b27e8c5ca23e0372bf"> 188</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a60689f97347811b27e8c5ca23e0372bf">end_encoding</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a45945f2efcd242d915ffa2171e92bf9d"> 190</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a45945f2efcd242d915ffa2171e92bf9d">register_library</a>(</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">const</span> std::string&amp; lib_name,</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">const</span> std::string&amp; lib_path);</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="comment">// Note, this should remain in the header so that it is not dynamically</span></div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="comment">// linked</span></div>
<div class="foldopen" id="foldopen00196" data-start="{" data-end="}">
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf"> 196</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf">register_library</a>(<span class="keyword">const</span> std::string&amp; lib_name) {</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> it = library_map_.find(lib_name); it == library_map_.end()) {</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a45945f2efcd242d915ffa2171e92bf9d">register_library</a>(lib_name, <a class="code hl_function" href="namespacemlx_1_1core_1_1metal.html#a5fd6ba2040e53a254b9d71ae7ebd315f">get_colocated_mtllib_path</a>(lib_name));</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> }</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> }</div>
</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a75ed55e73baf48013028796518723ff0"> 199</a></span> MTL::Library* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a75ed55e73baf48013028796518723ff0">get_library</a>(</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">const</span> std::function&lt;std::string(<span class="keywordtype">void</span>)&gt;&amp; builder);</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a6810c4dcbcfbf93fc51d42aa5ff0fc3a"> 203</a></span> MTL::ComputePipelineState* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a6810c4dcbcfbf93fc51d42aa5ff0fc3a">get_kernel</a>(</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">const</span> std::string&amp; base_name,</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> MTL::Library* mtl_lib,</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">const</span> std::string&amp; hash_name = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">MTLFCList</a>&amp; func_consts = {},</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">const</span> std::vector&lt;MTL::Function*&gt;&amp; linked_functions = {});</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#afa0cac9d800c21a8a7f6cb224256abaf"> 210</a></span> MTL::ComputePipelineState* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#afa0cac9d800c21a8a7f6cb224256abaf">get_kernel</a>(</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">const</span> std::string&amp; base_name,</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">const</span> std::string&amp; lib_name = <span class="stringliteral">&quot;mlx&quot;</span>,</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> std::string&amp; hash_name = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">MTLFCList</a>&amp; func_consts = {},</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">const</span> std::vector&lt;MTL::Function*&gt;&amp; linked_functions = {});</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a6e33e2b1287324fb4a6575e0da5e5881"> 217</a></span> MTL::ArgumentEncoder* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a6e33e2b1287324fb4a6575e0da5e5881">argument_encoder</a>(</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">const</span> std::vector&lt;MTL::ArgumentDescriptor*&gt;&amp; arg_descs) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a75ed55e73baf48013028796518723ff0"> 202</a></span> MTL::Library* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a75ed55e73baf48013028796518723ff0">get_library</a>(</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">const</span> std::function&lt;std::string(<span class="keywordtype">void</span>)&gt;&amp; builder);</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a6810c4dcbcfbf93fc51d42aa5ff0fc3a"> 206</a></span> MTL::ComputePipelineState* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a6810c4dcbcfbf93fc51d42aa5ff0fc3a">get_kernel</a>(</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> std::string&amp; base_name,</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> MTL::Library* mtl_lib,</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">const</span> std::string&amp; hash_name = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">MTLFCList</a>&amp; func_consts = {},</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">const</span> std::vector&lt;MTL::Function*&gt;&amp; linked_functions = {});</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#afa0cac9d800c21a8a7f6cb224256abaf"> 213</a></span> MTL::ComputePipelineState* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#afa0cac9d800c21a8a7f6cb224256abaf">get_kernel</a>(</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">const</span> std::string&amp; base_name,</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">const</span> std::string&amp; lib_name = <span class="stringliteral">&quot;mlx&quot;</span>,</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">const</span> std::string&amp; hash_name = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">MTLFCList</a>&amp; func_consts = {},</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">const</span> std::vector&lt;MTL::Function*&gt;&amp; linked_functions = {});</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="comment">// Record temporary arrays for the given stream index</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#acb90010af0cffe27fd8cc6c253d3a576"> 221</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#acb90010af0cffe27fd8cc6c253d3a576">add_temporary</a>(<a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> arr, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a72ad17c96fc6ce825bc77f0bed657901"> 222</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a72ad17c96fc6ce825bc77f0bed657901">add_temporaries</a>(std::vector&lt;array&gt; arrays, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a03a2f0c712660a1bd437cb16e4aba79f"> 224</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a03a2f0c712660a1bd437cb16e4aba79f">set_residency_set</a>(<span class="keyword">const</span> MTL::ResidencySet* residency_set);</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <a class="code hl_struct" href="structmlx_1_1core_1_1metal_1_1_device_stream.html">DeviceStream</a>&amp; get_stream_(<span class="keywordtype">int</span> index) {</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">return</span> stream_map_.find(index)-&gt;second;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> }</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> MTL::Library* get_library_cache_(<span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> MTL::Library* get_library_(<span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> MTL::Library* build_library_(<span class="keyword">const</span> std::string&amp; source_string);</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a6e33e2b1287324fb4a6575e0da5e5881"> 220</a></span> MTL::ArgumentEncoder* <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a6e33e2b1287324fb4a6575e0da5e5881">argument_encoder</a>(</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">const</span> std::vector&lt;MTL::ArgumentDescriptor*&gt;&amp; arg_descs) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> </div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="comment">// Record temporary arrays for the given stream index</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#acb90010af0cffe27fd8cc6c253d3a576"> 224</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#acb90010af0cffe27fd8cc6c253d3a576">add_temporary</a>(<a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> arr, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a72ad17c96fc6ce825bc77f0bed657901"> 225</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a72ad17c96fc6ce825bc77f0bed657901">add_temporaries</a>(std::vector&lt;array&gt; arrays, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"><a class="line" href="classmlx_1_1core_1_1metal_1_1_device.html#a03a2f0c712660a1bd437cb16e4aba79f"> 227</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classmlx_1_1core_1_1metal_1_1_device.html#a03a2f0c712660a1bd437cb16e4aba79f">set_residency_set</a>(<span class="keyword">const</span> MTL::ResidencySet* residency_set);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> </div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <a class="code hl_struct" href="structmlx_1_1core_1_1metal_1_1_device_stream.html">DeviceStream</a>&amp; get_stream_(<span class="keywordtype">int</span> index) {</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">return</span> stream_map_.find(index)-&gt;second;</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> }</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> MTL::Library* get_library_cache_(<span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> </div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> MTL::Function* get_function_(<span class="keyword">const</span> std::string&amp; name, MTL::Library* mtl_lib);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> MTL::Function* get_function_(</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">const</span> std::string&amp; specialized_name,</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">MTLFCList</a>&amp; func_consts,</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> MTL::Library* mtl_lib);</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> MTL::LinkedFunctions* get_linked_functions_(</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keyword">const</span> std::vector&lt;MTL::Function*&gt;&amp; funcs);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> MTL::Library* get_library_(<span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> MTL::Library* build_library_(<span class="keyword">const</span> std::string&amp; source_string);</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> </div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> MTL::Function* get_function_(<span class="keyword">const</span> std::string&amp; name, MTL::Library* mtl_lib);</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> MTL::Function* get_function_(</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keyword">const</span> std::string&amp; specialized_name,</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">MTLFCList</a>&amp; func_consts,</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> MTL::Library* mtl_lib);</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> </div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> MTL::ComputePipelineState* get_kernel_(</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">const</span> MTL::Function* mtl_function);</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> </div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> MTL::ComputePipelineState* get_kernel_(</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">const</span> MTL::Function* mtl_function,</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">const</span> MTL::LinkedFunctions* linked_functions);</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> MTL::ComputePipelineState* get_kernel_(</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">const</span> std::string&amp; base_name,</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> MTL::Library* mtl_lib,</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">const</span> std::string&amp; hash_name,</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">MTLFCList</a>&amp; func_consts = {},</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keyword">const</span> std::vector&lt;MTL::Function*&gt;&amp; linked_functions = {});</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> MTL::Device* device_;</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> std::unordered_map&lt;int32_t, DeviceStream&gt; stream_map_;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> MTL::LinkedFunctions* get_linked_functions_(</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keyword">const</span> std::vector&lt;MTL::Function*&gt;&amp; funcs);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> </div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> MTL::ComputePipelineState* get_kernel_(</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">const</span> MTL::Function* mtl_function);</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> MTL::ComputePipelineState* get_kernel_(</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">const</span> MTL::Function* mtl_function,</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">const</span> MTL::LinkedFunctions* linked_functions);</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> MTL::ComputePipelineState* get_kernel_(</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">const</span> std::string&amp; base_name,</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> MTL::Library* mtl_lib,</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">const</span> std::string&amp; hash_name,</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">MTLFCList</a>&amp; func_consts = {},</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">const</span> std::vector&lt;MTL::Function*&gt;&amp; linked_functions = {});</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> </div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> std::shared_mutex kernel_mtx_;</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> std::unordered_map&lt;std::string, MTL::ComputePipelineState*&gt; kernel_map_;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> MTL::Device* device_;</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> std::unordered_map&lt;int32_t, DeviceStream&gt; stream_map_;</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> </div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> std::shared_mutex library_mtx_;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> std::unordered_map&lt;std::string, MTL::Library*&gt; library_map_;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keyword">const</span> MTL::ResidencySet* residency_set_{<span class="keyword">nullptr</span>};</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> std::string arch_;</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keywordtype">int</span> max_ops_per_buffer_;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keywordtype">int</span> max_mb_per_buffer_;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span>};</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> std::shared_mutex kernel_mtx_;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> std::unordered_map&lt;std::string, MTL::ComputePipelineState*&gt; kernel_map_;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> std::shared_mutex library_mtx_;</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> std::unordered_map&lt;std::string, MTL::Library*&gt; library_map_;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">const</span> MTL::ResidencySet* residency_set_{<span class="keyword">nullptr</span>};</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> std::string arch_;</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">int</span> max_ops_per_buffer_;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">int</span> max_mb_per_buffer_;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span>};</div>
</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> </div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core_1_1metal.html#a910797b74824e6ee576fbb533dee8b57"> 276</a></span><a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">Device</a>&amp; <a class="code hl_function" href="namespacemlx_1_1core_1_1metal.html#a910797b74824e6ee576fbb533dee8b57">device</a>(<a class="code hl_struct" href="structmlx_1_1core_1_1_device.html">mlx::core::Device</a>);</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> </div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span>} <span class="comment">// namespace mlx::core::metal</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core_1_1metal.html#a910797b74824e6ee576fbb533dee8b57"> 279</a></span><a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">Device</a>&amp; <a class="code hl_function" href="namespacemlx_1_1core_1_1metal.html#a910797b74824e6ee576fbb533dee8b57">device</a>(<a class="code hl_struct" href="structmlx_1_1core_1_1_device.html">mlx::core::Device</a>);</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> </div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span>} <span class="comment">// namespace mlx::core::metal</span></div>
<div class="ttc" id="aarray_8h_html"><div class="ttname"><a href="array_8h.html">array.h</a></div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1array_html"><div class="ttname"><a href="classmlx_1_1core_1_1array.html">mlx::core::array</a></div><div class="ttdef"><b>Definition</b> array.h:24</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></div><div class="ttdef"><b>Definition</b> device.h:165</div></div>
@ -446,7 +449,8 @@ $(function(){initNavTree('backend_2metal_2device_8h_source.html',''); initResiza
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_a75ed55e73baf48013028796518723ff0"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#a75ed55e73baf48013028796518723ff0">mlx::core::metal::Device::get_library</a></div><div class="ttdeci">MTL::Library * get_library(const std::string &amp;name, const std::function&lt; std::string(void)&gt; &amp;builder)</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_a8135ae2a8c1e6f3861e84d4e60c28b67"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67">mlx::core::metal::Device::new_queue</a></div><div class="ttdeci">void new_queue(int index)</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_a95248f1387824067fd4fed23ace5ac0c"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#a95248f1387824067fd4fed23ace5ac0c">mlx::core::metal::Device::commit_command_buffer</a></div><div class="ttdeci">void commit_command_buffer(int index)</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_a99ff72689b7beb65ad4541391b0eeabf"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf">mlx::core::metal::Device::register_library</a></div><div class="ttdeci">void register_library(const std::string &amp;lib_name)</div><div class="ttdef"><b>Definition</b> device.h:193</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_a99ff72689b7beb65ad4541391b0eeabf"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf">mlx::core::metal::Device::register_library</a></div><div class="ttdeci">void register_library(const std::string &amp;lib_name)</div><div class="ttdef"><b>Definition</b> device.h:196</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_ab5f96b1d702e6c5e2d4228c1f2b19a00"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#ab5f96b1d702e6c5e2d4228c1f2b19a00">mlx::core::metal::Device::get_queue</a></div><div class="ttdeci">MTL::CommandQueue * get_queue(Stream stream)</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_abf59a4addb5473f9e814e3651ba85f06"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#abf59a4addb5473f9e814e3651ba85f06">mlx::core::metal::Device::Device</a></div><div class="ttdeci">Device(const Device &amp;)=delete</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_acb90010af0cffe27fd8cc6c253d3a576"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#acb90010af0cffe27fd8cc6c253d3a576">mlx::core::metal::Device::add_temporary</a></div><div class="ttdeci">void add_temporary(array arr, int index)</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1metal_1_1_device_html_ad1d6382fd18a46b1906e1b43e0bd2e73"><div class="ttname"><a href="classmlx_1_1core_1_1metal_1_1_device.html#ad1d6382fd18a46b1906e1b43e0bd2e73">mlx::core::metal::Device::operator=</a></div><div class="ttdeci">Device &amp; operator=(const Device &amp;)=delete</div></div>
@ -461,6 +465,7 @@ $(function(){initNavTree('backend_2metal_2device_8h_source.html',''); initResiza
<div class="ttc" id="astructmlx_1_1core_1_1_command_encoder_1_1_concurrent_context_html_aee044d7729739c96e845823f9ecc5174"><div class="ttname"><a href="structmlx_1_1core_1_1_command_encoder_1_1_concurrent_context.html#aee044d7729739c96e845823f9ecc5174">mlx::core::CommandEncoder::ConcurrentContext::ConcurrentContext</a></div><div class="ttdeci">ConcurrentContext(CommandEncoder &amp;enc)</div><div class="ttdef"><b>Definition</b> device.h:49</div></div>
<div class="ttc" id="astructmlx_1_1core_1_1_command_encoder_html_a7320b3acfa075ffdce5ea38fe107f186"><div class="ttname"><a href="structmlx_1_1core_1_1_command_encoder.html#a7320b3acfa075ffdce5ea38fe107f186">mlx::core::CommandEncoder::CommandEncoder</a></div><div class="ttdeci">CommandEncoder(DeviceStream &amp;stream)</div></div>
<div class="ttc" id="astructmlx_1_1core_1_1_device_html"><div class="ttname"><a href="structmlx_1_1core_1_1_device.html">mlx::core::Device</a></div><div class="ttdef"><b>Definition</b> device.h:7</div></div>
<div class="ttc" id="astructmlx_1_1core_1_1_stream_html"><div class="ttname"><a href="structmlx_1_1core_1_1_stream.html">mlx::core::Stream</a></div><div class="ttdef"><b>Definition</b> stream.h:9</div></div>
<div class="ttc" id="astructmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context_html"><div class="ttname"><a href="structmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context.html">mlx::core::metal::CommandEncoder::ConcurrentContext</a></div><div class="ttdef"><b>Definition</b> device.h:48</div></div>
<div class="ttc" id="astructmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context_html_a28bafec56edec3091e8716d8ccfb6ee1"><div class="ttname"><a href="structmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context.html#a28bafec56edec3091e8716d8ccfb6ee1">mlx::core::metal::CommandEncoder::ConcurrentContext::~ConcurrentContext</a></div><div class="ttdeci">~ConcurrentContext()</div><div class="ttdef"><b>Definition</b> device.h:52</div></div>
<div class="ttc" id="astructmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context_html_aee044d7729739c96e845823f9ecc5174"><div class="ttname"><a href="structmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context.html#aee044d7729739c96e845823f9ecc5174">mlx::core::metal::CommandEncoder::ConcurrentContext::ConcurrentContext</a></div><div class="ttdeci">ConcurrentContext(CommandEncoder &amp;enc)</div><div class="ttdef"><b>Definition</b> device.h:49</div></div>

View File

@ -120,11 +120,12 @@ $(function(){initNavTree('classmlx_1_1core_1_1_s_v_d.html',''); initResizable(tr
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a3349f745fae50ca7627f79a731a19e32">Primitive</a>(const Primitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a342da891b9882bdee9a0e0c1ac826eda">Primitive</a>(Primitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html#ab87a4e7ef857936bea66ba9e24662f53">print</a>(std::ostream &amp;os) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html">mlx::core::SVD</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html#ae89ff583e34fa894cccb8e7a475ee6d1">SVD</a>(Stream stream)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html">mlx::core::SVD</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a1dcb6807326eeab62474c6a0e3836d42">vjp</a>(const std::vector&lt; array &gt; &amp;primals, const std::vector&lt; array &gt; &amp;cotangents, const std::vector&lt; int &gt; &amp;argnums, const std::vector&lt; array &gt; &amp;outputs)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html#a0366c958f6cdac8d1d9e1a4eda53fae8">vmap</a>(const std::vector&lt; array &gt; &amp;inputs, const std::vector&lt; int &gt; &amp;axes) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html">mlx::core::SVD</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a29f70eb2d3b7e6c5fe52779c03f03777">~Primitive</a>()=default</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html#a73f326705aeca762d0dfd63d1577bde1">state</a>() const</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html">mlx::core::SVD</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html#a1bf0ffc5f7b03720a10975827a616b81">SVD</a>(Stream stream, bool compute_uv)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html">mlx::core::SVD</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a1dcb6807326eeab62474c6a0e3836d42">vjp</a>(const std::vector&lt; array &gt; &amp;primals, const std::vector&lt; array &gt; &amp;cotangents, const std::vector&lt; int &gt; &amp;argnums, const std::vector&lt; array &gt; &amp;outputs)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html#a0366c958f6cdac8d1d9e1a4eda53fae8">vmap</a>(const std::vector&lt; array &gt; &amp;inputs, const std::vector&lt; int &gt; &amp;axes) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_s_v_d.html">mlx::core::SVD</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a29f70eb2d3b7e6c5fe52779c03f03777">~Primitive</a>()=default</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->

View File

@ -122,8 +122,8 @@ Inheritance diagram for mlx::core::SVD:</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae89ff583e34fa894cccb8e7a475ee6d1" id="r_ae89ff583e34fa894cccb8e7a475ee6d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae89ff583e34fa894cccb8e7a475ee6d1">SVD</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>)</td></tr>
<tr class="separator:ae89ff583e34fa894cccb8e7a475ee6d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bf0ffc5f7b03720a10975827a616b81" id="r_a1bf0ffc5f7b03720a10975827a616b81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1bf0ffc5f7b03720a10975827a616b81">SVD</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>, bool compute_uv)</td></tr>
<tr class="separator:a1bf0ffc5f7b03720a10975827a616b81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a637f5c39fa8b10722c04a066f6c1ada6" id="r_a637f5c39fa8b10722c04a066f6c1ada6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a637f5c39fa8b10722c04a066f6c1ada6">eval_cpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;outputs) override</td></tr>
<tr class="memdesc:a637f5c39fa8b10722c04a066f6c1ada6"><td class="mdescLeft">&#160;</td><td class="mdescRight">A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the output arrays. <br /></td></tr>
<tr class="separator:a637f5c39fa8b10722c04a066f6c1ada6"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -135,6 +135,8 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:ab87a4e7ef857936bea66ba9e24662f53" id="r_ab87a4e7ef857936bea66ba9e24662f53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab87a4e7ef857936bea66ba9e24662f53">print</a> (std::ostream &amp;os) override</td></tr>
<tr class="memdesc:ab87a4e7ef857936bea66ba9e24662f53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print the primitive. <br /></td></tr>
<tr class="separator:ab87a4e7ef857936bea66ba9e24662f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73f326705aeca762d0dfd63d1577bde1" id="r_a73f326705aeca762d0dfd63d1577bde1"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a73f326705aeca762d0dfd63d1577bde1">state</a> () const</td></tr>
<tr class="separator:a73f326705aeca762d0dfd63d1577bde1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmlx_1_1core_1_1_primitive"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmlx_1_1core_1_1_primitive')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td></tr>
<tr class="memitem:afc69f22ee1f6e8a9ecc2c3a8f43b8fdb inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_afc69f22ee1f6e8a9ecc2c3a8f43b8fdb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#afc69f22ee1f6e8a9ecc2c3a8f43b8fdb">Primitive</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>)</td></tr>
<tr class="separator:afc69f22ee1f6e8a9ecc2c3a8f43b8fdb inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -168,8 +170,8 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a50bbddd43e1ba0cf5f127cd7aa756a9e inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ae89ff583e34fa894cccb8e7a475ee6d1" name="ae89ff583e34fa894cccb8e7a475ee6d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae89ff583e34fa894cccb8e7a475ee6d1">&#9670;&#160;</a></span>SVD()</h2>
<a id="a1bf0ffc5f7b03720a10975827a616b81" name="a1bf0ffc5f7b03720a10975827a616b81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bf0ffc5f7b03720a10975827a616b81">&#9670;&#160;</a></span>SVD()</h2>
<div class="memitem">
<div class="memproto">
@ -180,8 +182,12 @@ Public Member Functions</h2></td></tr>
<tr>
<td class="memname">mlx::core::SVD::SVD </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a></td> <td class="paramname"><span class="paramname"><em>stream</em></span></td><td>)</td>
<td class="paramtype"><a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a></td> <td class="paramname"><span class="paramname"><em>stream</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>compute_uv</em></span>&#160;)</td>
</tr>
</table>
</td>
@ -286,6 +292,31 @@ Public Member Functions</h2></td></tr>
<p>Implements <a class="el" href="classmlx_1_1core_1_1_primitive.html#ae1aff91354ce036596088a3e19474ecb">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="a73f326705aeca762d0dfd63d1577bde1" name="a73f326705aeca762d0dfd63d1577bde1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73f326705aeca762d0dfd63d1577bde1">&#9670;&#160;</a></span>state()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto mlx::core::SVD::state </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0366c958f6cdac8d1d9e1a4eda53fae8" name="a0366c958f6cdac8d1d9e1a4eda53fae8"></a>

View File

@ -1,8 +1,9 @@
var classmlx_1_1core_1_1_s_v_d =
[
[ "SVD", "classmlx_1_1core_1_1_s_v_d.html#ae89ff583e34fa894cccb8e7a475ee6d1", null ],
[ "SVD", "classmlx_1_1core_1_1_s_v_d.html#a1bf0ffc5f7b03720a10975827a616b81", null ],
[ "eval_cpu", "classmlx_1_1core_1_1_s_v_d.html#a637f5c39fa8b10722c04a066f6c1ada6", null ],
[ "eval_gpu", "classmlx_1_1core_1_1_s_v_d.html#a7067b2207f826a25549d571856b94e83", null ],
[ "print", "classmlx_1_1core_1_1_s_v_d.html#ab87a4e7ef857936bea66ba9e24662f53", null ],
[ "state", "classmlx_1_1core_1_1_s_v_d.html#a73f326705aeca762d0dfd63d1577bde1", null ],
[ "vmap", "classmlx_1_1core_1_1_s_v_d.html#a0366c958f6cdac8d1d9e1a4eda53fae8", null ]
];

View File

@ -122,13 +122,14 @@ $(function(){initNavTree('classmlx_1_1core_1_1metal_1_1_device.html',''); initRe
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a6810c4dcbcfbf93fc51d42aa5ff0fc3a">get_kernel</a>(const std::string &amp;base_name, MTL::Library *mtl_lib, const std::string &amp;hash_name=&quot;&quot;, const MTLFCList &amp;func_consts={}, const std::vector&lt; MTL::Function * &gt; &amp;linked_functions={})</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#afa0cac9d800c21a8a7f6cb224256abaf">get_kernel</a>(const std::string &amp;base_name, const std::string &amp;lib_name=&quot;mlx&quot;, const std::string &amp;hash_name=&quot;&quot;, const MTLFCList &amp;func_consts={}, const std::vector&lt; MTL::Function * &gt; &amp;linked_functions={})</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a75ed55e73baf48013028796518723ff0">get_library</a>(const std::string &amp;name, const std::function&lt; std::string(void)&gt; &amp;builder)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a31dba377f2be44a746db10d1b9367653">mtl_device</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67">new_queue</a>(int index)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#ad1d6382fd18a46b1906e1b43e0bd2e73">operator=</a>(const Device &amp;)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a45945f2efcd242d915ffa2171e92bf9d">register_library</a>(const std::string &amp;lib_name, const std::string &amp;lib_path)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf">register_library</a>(const std::string &amp;lib_name)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a03a2f0c712660a1bd437cb16e4aba79f">set_residency_set</a>(const MTL::ResidencySet *residency_set)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a4f39c28c6cdd1d2da1918f5871bcba6e">~Device</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#ab5f96b1d702e6c5e2d4228c1f2b19a00">get_queue</a>(Stream stream)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a31dba377f2be44a746db10d1b9367653">mtl_device</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67">new_queue</a>(int index)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#ad1d6382fd18a46b1906e1b43e0bd2e73">operator=</a>(const Device &amp;)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a45945f2efcd242d915ffa2171e92bf9d">register_library</a>(const std::string &amp;lib_name, const std::string &amp;lib_path)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf">register_library</a>(const std::string &amp;lib_name)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a03a2f0c712660a1bd437cb16e4aba79f">set_residency_set</a>(const MTL::ResidencySet *residency_set)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html#a4f39c28c6cdd1d2da1918f5871bcba6e">~Device</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">mlx::core::metal::Device</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->

View File

@ -127,6 +127,8 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a65f64dd8bafdc704d871fc5be5e7bc0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8135ae2a8c1e6f3861e84d4e60c28b67" id="r_a8135ae2a8c1e6f3861e84d4e60c28b67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8135ae2a8c1e6f3861e84d4e60c28b67">new_queue</a> (int index)</td></tr>
<tr class="separator:a8135ae2a8c1e6f3861e84d4e60c28b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5f96b1d702e6c5e2d4228c1f2b19a00" id="r_ab5f96b1d702e6c5e2d4228c1f2b19a00"><td class="memItemLeft" align="right" valign="top">MTL::CommandQueue *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab5f96b1d702e6c5e2d4228c1f2b19a00">get_queue</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> stream)</td></tr>
<tr class="separator:ab5f96b1d702e6c5e2d4228c1f2b19a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fe3970fbe92ccc55fce4241ffbe5210" id="r_a5fe3970fbe92ccc55fce4241ffbe5210"><td class="memItemLeft" align="right" valign="top">MTL::CommandBuffer *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5fe3970fbe92ccc55fce4241ffbe5210">get_command_buffer</a> (int index)</td></tr>
<tr class="separator:a5fe3970fbe92ccc55fce4241ffbe5210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2580a395419fa6735e8ca5a67495700e" id="r_a2580a395419fa6735e8ca5a67495700e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2580a395419fa6735e8ca5a67495700e">command_buffer_needs_commit</a> (int index)</td></tr>
@ -477,6 +479,23 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab5f96b1d702e6c5e2d4228c1f2b19a00" name="ab5f96b1d702e6c5e2d4228c1f2b19a00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5f96b1d702e6c5e2d4228c1f2b19a00">&#9670;&#160;</a></span>get_queue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">MTL::CommandQueue * mlx::core::metal::Device::get_queue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a></td> <td class="paramname"><span class="paramname"><em>stream</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a31dba377f2be44a746db10d1b9367653" name="a31dba377f2be44a746db10d1b9367653"></a>

View File

@ -15,6 +15,7 @@ var classmlx_1_1core_1_1metal_1_1_device =
[ "get_kernel", "classmlx_1_1core_1_1metal_1_1_device.html#afa0cac9d800c21a8a7f6cb224256abaf", null ],
[ "get_kernel", "classmlx_1_1core_1_1metal_1_1_device.html#a6810c4dcbcfbf93fc51d42aa5ff0fc3a", null ],
[ "get_library", "classmlx_1_1core_1_1metal_1_1_device.html#a75ed55e73baf48013028796518723ff0", null ],
[ "get_queue", "classmlx_1_1core_1_1metal_1_1_device.html#ab5f96b1d702e6c5e2d4228c1f2b19a00", null ],
[ "mtl_device", "classmlx_1_1core_1_1metal_1_1_device.html#a31dba377f2be44a746db10d1b9367653", null ],
[ "new_queue", "classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67", null ],
[ "operator=", "classmlx_1_1core_1_1metal_1_1_device.html#ad1d6382fd18a46b1906e1b43e0bd2e73", null ],

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Operations &#8212; MLX 0.23.1 documentation</title>
<title>Operations &#8212; MLX 0.23.2 documentation</title>
@ -16,30 +16,27 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=a3416100" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=8e7411ea"></script>
<script src="../_static/documentation_options.js?v=9900918c"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -51,7 +48,6 @@
<link rel="prev" title="mlx.utils.tree_reduce" href="../python/_autosummary/mlx.utils.tree_reduce.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="0.23.1" />
</head>
@ -67,8 +63,19 @@
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
@ -76,6 +83,7 @@
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
@ -83,8 +91,8 @@
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
@ -100,8 +108,7 @@
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="bd-sidebar-primary bd-sidebar">
@ -130,18 +137,22 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark pst-js-only" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.2 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.23.2 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button></div>
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
@ -511,6 +522,7 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/nn.html">Neural Networks</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.quantize.html">mlx.nn.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.average_gradients.html">mlx.nn.average_gradients</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/nn/module.html">Module</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
@ -722,14 +734,9 @@
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
<div id="rtd-footer-container"></div>
</div>
@ -841,16 +848,24 @@
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
</button>
`);
</script>
<button class="sidebar-toggle secondary-toggle btn btn-sm" title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-list"></span>
</button>
@ -3089,8 +3104,7 @@
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
@ -3464,8 +3478,8 @@ By MLX Contributors
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Custom Metal Kernels &#8212; MLX 0.23.1 documentation</title>
<title>Custom Metal Kernels &#8212; MLX 0.23.2 documentation</title>
@ -16,30 +16,27 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=a3416100" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=8e7411ea"></script>
<script src="../_static/documentation_options.js?v=9900918c"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -51,7 +48,6 @@
<link rel="prev" title="Metal Debugger" href="metal_debugger.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="0.23.1" />
</head>
@ -67,8 +63,19 @@
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
@ -76,6 +83,7 @@
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
@ -83,8 +91,8 @@
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
@ -100,8 +108,7 @@
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="bd-sidebar-primary bd-sidebar">
@ -130,18 +137,22 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark pst-js-only" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.2 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.23.2 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button></div>
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
@ -511,6 +522,7 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/nn.html">Neural Networks</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.quantize.html">mlx.nn.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.average_gradients.html">mlx.nn.average_gradients</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/nn/module.html">Module</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
@ -722,14 +734,9 @@
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
<div id="rtd-footer-container"></div>
</div>
@ -841,16 +848,24 @@
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
</button>
`);
</script>
<button class="sidebar-toggle secondary-toggle btn btn-sm" title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-list"></span>
</button>
@ -1344,8 +1359,7 @@ See section 6.15 of the <a class="reference external" href="https://developer.ap
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
@ -1406,8 +1420,8 @@ By MLX Contributors
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Custom Extensions in MLX &#8212; MLX 0.23.1 documentation</title>
<title>Custom Extensions in MLX &#8212; MLX 0.23.2 documentation</title>
@ -16,30 +16,27 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=a3416100" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=8e7411ea"></script>
<script src="../_static/documentation_options.js?v=9900918c"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -51,7 +48,6 @@
<link rel="prev" title="Operations" href="../cpp/ops.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="0.23.1" />
</head>
@ -67,8 +63,19 @@
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
@ -76,6 +83,7 @@
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
@ -83,8 +91,8 @@
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
@ -100,8 +108,7 @@
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="bd-sidebar-primary bd-sidebar">
@ -130,18 +137,22 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark pst-js-only" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.2 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.23.2 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button></div>
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
@ -511,6 +522,7 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/nn.html">Neural Networks</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.quantize.html">mlx.nn.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.average_gradients.html">mlx.nn.average_gradients</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/nn/module.html">Module</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
@ -722,14 +734,9 @@
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
<div id="rtd-footer-container"></div>
</div>
@ -841,16 +848,24 @@
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
</button>
`);
</script>
<button class="sidebar-toggle secondary-toggle btn btn-sm" title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-list"></span>
</button>
@ -1765,8 +1780,7 @@ modest improvements right away!</p>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
@ -1847,8 +1861,8 @@ By MLX Contributors
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Metal Debugger &#8212; MLX 0.23.1 documentation</title>
<title>Metal Debugger &#8212; MLX 0.23.2 documentation</title>
@ -16,30 +16,27 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=a3416100" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=8e7411ea"></script>
<script src="../_static/documentation_options.js?v=9900918c"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -51,7 +48,6 @@
<link rel="prev" title="Custom Extensions in MLX" href="extensions.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="0.23.1" />
</head>
@ -67,8 +63,19 @@
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
@ -76,6 +83,7 @@
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
@ -83,8 +91,8 @@
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
@ -100,8 +108,7 @@
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="bd-sidebar-primary bd-sidebar">
@ -130,18 +137,22 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark pst-js-only" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.2 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.23.2 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button></div>
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
@ -511,6 +522,7 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/nn.html">Neural Networks</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.quantize.html">mlx.nn.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.average_gradients.html">mlx.nn.average_gradients</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/nn/module.html">Module</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
@ -722,14 +734,9 @@
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
<div id="rtd-footer-container"></div>
</div>
@ -841,16 +848,24 @@
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
</button>
`);
</script>
<button class="sidebar-toggle secondary-toggle btn btn-sm" title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-list"></span>
</button>
@ -977,8 +992,7 @@ Xcode project using CMake.</p>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
@ -1036,8 +1050,8 @@ By MLX Contributors
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Using MLX in C++ &#8212; MLX 0.23.1 documentation</title>
<title>Using MLX in C++ &#8212; MLX 0.23.2 documentation</title>
@ -16,30 +16,27 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=a3416100" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=8e7411ea"></script>
<script src="../_static/documentation_options.js?v=9900918c"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -50,7 +47,6 @@
<link rel="prev" title="Custom Metal Kernels" href="custom_metal_kernels.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="0.23.1" />
</head>
@ -66,8 +62,19 @@
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
@ -75,6 +82,7 @@
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
@ -82,8 +90,8 @@
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
@ -99,8 +107,7 @@
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="bd-sidebar-primary bd-sidebar">
@ -129,18 +136,22 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark pst-js-only" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.2 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.23.2 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button></div>
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
@ -510,6 +521,7 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/nn.html">Neural Networks</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.quantize.html">mlx.nn.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.average_gradients.html">mlx.nn.average_gradients</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/nn/module.html">Module</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
@ -721,14 +733,9 @@
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
<div id="rtd-footer-container"></div>
</div>
@ -840,16 +847,24 @@
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
</button>
`);
</script>
</div></div>
@ -1055,8 +1070,8 @@ By MLX Contributors
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>

View File

@ -173,6 +173,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="utils_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html">utils.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="version_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="version_8h.html">version.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -30,5 +30,6 @@ var dir_938ab0ecf10b8b860ff766c820f665fd =
[ "threadpool.h", "threadpool_8h.html", "threadpool_8h" ],
[ "transforms.h", "transforms_8h.html", "transforms_8h" ],
[ "transforms_impl.h", "transforms__impl_8h.html", "transforms__impl_8h" ],
[ "utils.h", "utils_8h.html", "utils_8h" ]
[ "utils.h", "utils_8h.html", "utils_8h" ],
[ "version.h", "version_8h.html", "version_8h" ]
];

View File

@ -1508,10 +1508,11 @@
<a href="classmlx_1_1core_1_1_s_v_d-members.html"/>
<a href="classmlx_1_1core_1_1_s_v_d.html"/>
<a href="classmlx_1_1core_1_1_s_v_d.html#a0366c958f6cdac8d1d9e1a4eda53fae8"/>
<a href="classmlx_1_1core_1_1_s_v_d.html#a1bf0ffc5f7b03720a10975827a616b81"/>
<a href="classmlx_1_1core_1_1_s_v_d.html#a637f5c39fa8b10722c04a066f6c1ada6"/>
<a href="classmlx_1_1core_1_1_s_v_d.html#a7067b2207f826a25549d571856b94e83"/>
<a href="classmlx_1_1core_1_1_s_v_d.html#a73f326705aeca762d0dfd63d1577bde1"/>
<a href="classmlx_1_1core_1_1_s_v_d.html#ab87a4e7ef857936bea66ba9e24662f53"/>
<a href="classmlx_1_1core_1_1_s_v_d.html#ae89ff583e34fa894cccb8e7a475ee6d1"/>
<a href="classmlx_1_1core_1_1_scan-members.html"/>
<a href="classmlx_1_1core_1_1_scan.html"/>
<a href="classmlx_1_1core_1_1_scan.html#a15676d9fd066e935782a923fba3e940b"/>
@ -2081,6 +2082,7 @@
<a href="classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67"/>
<a href="classmlx_1_1core_1_1metal_1_1_device.html#a95248f1387824067fd4fed23ace5ac0c"/>
<a href="classmlx_1_1core_1_1metal_1_1_device.html#a99ff72689b7beb65ad4541391b0eeabf"/>
<a href="classmlx_1_1core_1_1metal_1_1_device.html#ab5f96b1d702e6c5e2d4228c1f2b19a00"/>
<a href="classmlx_1_1core_1_1metal_1_1_device.html#abf59a4addb5473f9e814e3651ba85f06"/>
<a href="classmlx_1_1core_1_1metal_1_1_device.html#acb90010af0cffe27fd8cc6c253d3a576"/>
<a href="classmlx_1_1core_1_1metal_1_1_device.html#ad1d6382fd18a46b1906e1b43e0bd2e73"/>
@ -2896,7 +2898,16 @@
<a href="kernels_8h.html"/>
<a href="kernels_8h_source.html"/>
<a href="lapack_8h.html"/>
<a href="lapack_8h.html#a07b8fcda68eb0c861d282757b5381148"/>
<a href="lapack_8h.html#a54238f99f06c0843601cabe1cb6a2637"/>
<a href="lapack_8h.html#a6b0df109467651763a6e2b88f792a569"/>
<a href="lapack_8h.html#a9eb1ec7983c0404d7055edd2e9edeb79"/>
<a href="lapack_8h.html#aa356d7affbe00e6a5a700225dc6a774e"/>
<a href="lapack_8h.html#aafb37bcf77b8dacf75c9e8feed325757"/>
<a href="lapack_8h.html#aca4bf4d46eed1729128dc88d39c128c2"/>
<a href="lapack_8h.html#ae22db9704827bf013a0a61f21a47464b"/>
<a href="lapack_8h.html#aeaf627909edbceee7bc57639c7b27124"/>
<a href="lapack_8h.html#afa6b9dd8d9110ff8f41d32edf1912e44"/>
<a href="lapack_8h_source.html"/>
<a href="limits_8h.html"/>
<a href="limits_8h_source.html"/>
@ -3428,6 +3439,7 @@
<a href="namespacemlx_1_1core.html#a4cabd600a5271b0d416c91e8d31dd9c1"/>
<a href="namespacemlx_1_1core.html#a4ce6867dbb4d1631d1870dac14022dbb"/>
<a href="namespacemlx_1_1core.html#a4d594bb84abeff4619d1abb77b20123e"/>
<a href="namespacemlx_1_1core.html#a4d7bc76b40d028805d32a9e0f7ae7598"/>
<a href="namespacemlx_1_1core.html#a4ddb5ef0b88929086f9b09729fda0dde"/>
<a href="namespacemlx_1_1core.html#a4ddd07021b36c848d6fb1dd9ac276822"/>
<a href="namespacemlx_1_1core.html#a4decd4a07d91487e6903f6e3c8b7513a"/>
@ -3934,11 +3946,11 @@
<a href="namespacemlx_1_1core_1_1fast.html#a1632b78950f0c8c31b24be7d80faeb39"/>
<a href="namespacemlx_1_1core_1_1fast.html#a3663b50265b0a9c0cca2b5376852e059"/>
<a href="namespacemlx_1_1core_1_1fast.html#a534ef357eae24892684a6ecd866d3fab"/>
<a href="namespacemlx_1_1core_1_1fast.html#a85ec3abc6b9d968c58275f5eef916f01"/>
<a href="namespacemlx_1_1core_1_1fast.html#a9390693ff7be931f3ef3428e2ea4c3f9"/>
<a href="namespacemlx_1_1core_1_1fast.html#aa45bf61e7a5c4ad0114b82ed80ae0dbd"/>
<a href="namespacemlx_1_1core_1_1fast.html#aa4b5f6886b2288cb6dfdd8598579f080"/>
<a href="namespacemlx_1_1core_1_1fast.html#ab16436b465dc10ce472193d541d8426e"/>
<a href="namespacemlx_1_1core_1_1fast.html#ac7b620275c6386f822b7aacc6b312e62"/>
<a href="namespacemlx_1_1core_1_1fft.html"/>
<a href="namespacemlx_1_1core_1_1fft.html#a039a44197ad299a15a5847639292800c"/>
<a href="namespacemlx_1_1core_1_1fft.html#a1c9ad11121c5879d5c04bbde2ee238c3"/>
@ -3977,6 +3989,7 @@
<a href="namespacemlx_1_1core_1_1linalg.html#a44250cff34238f01471fd61e76036f03"/>
<a href="namespacemlx_1_1core_1_1linalg.html#a46c8a4f806f0a97a4323e91189aa512b"/>
<a href="namespacemlx_1_1core_1_1linalg.html#a5e6e53f7a04688baa1329d166511febe"/>
<a href="namespacemlx_1_1core_1_1linalg.html#a6358b3b4398289f30ada4c2712a9d88d"/>
<a href="namespacemlx_1_1core_1_1linalg.html#a64364b880e99914cf47bf756fa8dbaf0"/>
<a href="namespacemlx_1_1core_1_1linalg.html#a66590bfcec381e952b27630da0a31953"/>
<a href="namespacemlx_1_1core_1_1linalg.html#a7a426a92cb02c0d125e41f8915e66f7f"/>
@ -4015,7 +4028,6 @@
<a href="namespacemlx_1_1core_1_1metal.html#a545de371fefba1feec2e70b7e9f4187c"/>
<a href="namespacemlx_1_1core_1_1metal.html#a5fd6ba2040e53a254b9d71ae7ebd315f"/>
<a href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54"/>
<a href="namespacemlx_1_1core_1_1metal.html#a6ad19c44efabb7423f973407926ead61"/>
<a href="namespacemlx_1_1core_1_1metal.html#a74b3558bd518aecde6b14b0ba5e1a0d5"/>
<a href="namespacemlx_1_1core_1_1metal.html#a7b75c2639016ac4d350fa6c9da386667"/>
<a href="namespacemlx_1_1core_1_1metal.html#a81c2cf124b0803098a54a78f8f6873a6"/>
@ -4040,6 +4052,7 @@
<a href="namespacemlx_1_1core_1_1metal.html#ad0dfd40ba7c09755711ceb731e57a5ac"/>
<a href="namespacemlx_1_1core_1_1metal.html#adc66b1b48b51ac2d2f1f5bfac1b95ee3"/>
<a href="namespacemlx_1_1core_1_1metal.html#adec8bb375da6c9dd5ff625a3a8434122"/>
<a href="namespacemlx_1_1core_1_1metal.html#aebddc0ae4bc73a1acebc4a844475593b"/>
<a href="namespacemlx_1_1core_1_1metal.html#aed047eec38b030ec5f29b9da54abf8cb"/>
<a href="namespacemlx_1_1core_1_1metal.html#afac64fd56ac492d6baf6de7e8a00b039"/>
<a href="namespacemlx_1_1core_1_1random.html"/>
@ -4386,6 +4399,7 @@
<a href="namespacemlx_1_1steel.html#aa4364eda56525cf7576ff00e550175e6"/>
<a href="namespacemlx_1_1steel.html#ab0ef721cedc2b5a97f60d76b765aff2e"/>
<a href="namespacemlx_1_1steel.html#ab4a6ddea4beb7c447cf5b69b9d46cc3b"/>
<a href="namespacemlx_1_1steel.html#ab9fdcb06fb1f639f9120ab14cfedd150"/>
<a href="namespacemlx_1_1steel.html#abcc797f27e87e857b41c1a8d33ee2c78"/>
<a href="namespacemlx_1_1steel.html#aca8ef21c16984ccb329b3bd0c1e4be48"/>
<a href="namespacemlx_1_1steel.html#acd6e194d37b617d7a5818bc384a97fe4"/>
@ -4592,10 +4606,11 @@
<a href="scheduler_8h.html"/>
<a href="scheduler_8h_source.html"/>
<a href="sdpa__vector_8h.html"/>
<a href="sdpa__vector_8h.html#a1368cf3618a4e03dbf743b3463205efe"/>
<a href="sdpa__vector_8h.html#a0c2c54bcc20cc4783a5040d47fa3ba81"/>
<a href="sdpa__vector_8h.html#a6ed0dd113fe7d471fc0b869b8c028c81"/>
<a href="sdpa__vector_8h.html#a826f7a3c7ab843abc0842241db3e57b3"/>
<a href="sdpa__vector_8h.html#aae1a2f23b03e24734805b08ebc5c1a59"/>
<a href="sdpa__vector_8h.html#aa83885125881230b6c4657dd3d0eba18"/>
<a href="sdpa__vector_8h.html#ae1be83816bf9332277dab185aa1b58c2"/>
<a href="sdpa__vector_8h.html#ae2a4a8d17e571578ed529f4d4afe93ac"/>
<a href="sdpa__vector_8h_source.html"/>
<a href="simd_8h.html"/>
<a href="simd_8h_source.html"/>
@ -5906,15 +5921,19 @@
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a3c34dfdc944db110f4735f1b25307cf0"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a3dcd4301390937f89ed1dde6d28e341f"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a51d662e4cff88b5ad17d7c44bb6b6970"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a51fcc7447804110f2c2c6e9e361bdc02"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a7331fff1d12f2f8b72b0006a3ad0dd83"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a76aa5aa690dbcc954e957d767fad661f"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a7c212200d86b4e93f274d99addf668bd"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a8028512f5a3d2b6acaf966be529627a3"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a8536bfaa108031c2ea3e9ccdc766ee5b"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a96ce3732fb66feaeb80bd1ea9aadbd7e"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#aa8f50ea8961ec5b35c1b81366d64f2cb"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#ac73006b36fc710feda3a7c796e21415c"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#ad22aaee4a2938cbdd315b39eda84e07d"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#adbb262a3c872e26533b68a39db16459e"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#ae49be5820609d08885a811ae1d082a4b"/>
<a href="structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#afcdc0e744021facfe52347eaa0fc549e"/>
<a href="structmlx_1_1steel_1_1_block_loader-members.html"/>
<a href="structmlx_1_1steel_1_1_block_loader.html"/>
<a href="structmlx_1_1steel_1_1_block_loader.html#a064e2cc77e0b1cf0f8027929e031775b"/>
@ -6428,5 +6447,11 @@
<a href="unionbool4__or__uint.html#ab24d95aaf4203ddf3e6b1ed19397ced7"/>
<a href="utils_8h.html"/>
<a href="utils_8h_source.html"/>
<a href="version_8h.html"/>
<a href="version_8h.html#a11113ca6d778b3970362ab4bdce9f199"/>
<a href="version_8h.html#a28be6f5338015802ef5f1ad6a4c98750"/>
<a href="version_8h.html#a33b774f54c2725d743e28dd9bf89969e"/>
<a href="version_8h.html#ab25bf5456c6cb58d66fc90e143a26530"/>
<a href="version_8h_source.html"/>
</body>
</html>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Linear Regression &#8212; MLX 0.23.1 documentation</title>
<title>Linear Regression &#8212; MLX 0.23.2 documentation</title>
@ -16,30 +16,27 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=a3416100" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=8e7411ea"></script>
<script src="../_static/documentation_options.js?v=9900918c"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -51,7 +48,6 @@
<link rel="prev" title="Exporting Functions" href="../usage/export.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="0.23.1" />
</head>
@ -67,8 +63,19 @@
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
@ -76,6 +83,7 @@
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
@ -83,8 +91,8 @@
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
@ -100,8 +108,7 @@
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="bd-sidebar-primary bd-sidebar">
@ -130,18 +137,22 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark pst-js-only" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.2 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.23.2 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button></div>
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
@ -511,6 +522,7 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/nn.html">Neural Networks</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.quantize.html">mlx.nn.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.average_gradients.html">mlx.nn.average_gradients</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/nn/module.html">Module</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
@ -722,14 +734,9 @@
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
<div id="rtd-footer-container"></div>
</div>
@ -841,16 +848,24 @@
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
</button>
`);
</script>
</div></div>
@ -1018,8 +1033,8 @@ By MLX Contributors
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>LLM inference &#8212; MLX 0.23.1 documentation</title>
<title>LLM inference &#8212; MLX 0.23.2 documentation</title>
@ -16,30 +16,27 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=a3416100" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=8e7411ea"></script>
<script src="../_static/documentation_options.js?v=9900918c"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -51,7 +48,6 @@
<link rel="prev" title="Multi-Layer Perceptron" href="mlp.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="0.23.1" />
</head>
@ -67,8 +63,19 @@
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
@ -76,6 +83,7 @@
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
@ -83,8 +91,8 @@
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
@ -100,8 +108,7 @@
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="bd-sidebar-primary bd-sidebar">
@ -130,18 +137,22 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark pst-js-only" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.2 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.23.2 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button></div>
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
@ -511,6 +522,7 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/nn.html">Neural Networks</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.quantize.html">mlx.nn.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.average_gradients.html">mlx.nn.average_gradients</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/nn/module.html">Module</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
@ -722,14 +734,9 @@
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
<div id="rtd-footer-container"></div>
</div>
@ -841,16 +848,24 @@
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
</button>
`);
</script>
<button class="sidebar-toggle secondary-toggle btn btn-sm" title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-list"></span>
</button>
@ -1296,8 +1311,7 @@ arXiv:2002.05202.</p>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
@ -1365,8 +1379,8 @@ By MLX Contributors
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Multi-Layer Perceptron &#8212; MLX 0.23.1 documentation</title>
<title>Multi-Layer Perceptron &#8212; MLX 0.23.2 documentation</title>
@ -16,30 +16,27 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=a3416100" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=eba8b062" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=8e7411ea"></script>
<script src="../_static/documentation_options.js?v=9900918c"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -51,7 +48,6 @@
<link rel="prev" title="Linear Regression" href="linear_regression.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="0.23.1" />
</head>
@ -67,8 +63,19 @@
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
@ -76,6 +83,7 @@
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
@ -83,8 +91,8 @@
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
@ -100,8 +108,7 @@
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="bd-sidebar-primary bd-sidebar">
@ -130,18 +137,22 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark pst-js-only" alt="MLX 0.23.1 documentation - Home"/>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.23.2 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.23.2 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button></div>
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
@ -511,6 +522,7 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/nn.html">Neural Networks</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.quantize.html">mlx.nn.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.nn.average_gradients.html">mlx.nn.average_gradients</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/nn/module.html">Module</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
@ -722,14 +734,9 @@
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
<div id="rtd-footer-container"></div>
</div>
@ -841,16 +848,24 @@
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
</button>
`);
</script>
</div></div>
@ -1070,8 +1085,8 @@ By MLX Contributors
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>

Some files were not shown because too many files have changed in this diff Show More