summaryrefslogtreecommitdiff
path: root/ot/gpu/__init__.py
blob: 0187a4fc4ac49c9d0d6d4b75e616db86a93be4e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- coding: utf-8 -*-
"""

This module provides GPU implementation for several OT solvers and utility 
functions. The GPU backend in handled by `cupy 
<https://cupy.chainer.org/>`_.

By default, the functions in this module accept and return numpy arrays 
in order to proide drop-in replacement for the other POT function but
the transfer between CPU en GPU comes with a significant overhead.

In order to get the best erformances, we recommend to given only cupy 
arrays to the functions and desactivate the conversion to numpy of the 
result of the function with parameter ``to_numpy=False``.




"""

from . import bregman
from . import da
from .bregman import sinkhorn
from .da import sinkhorn_lpl1_mm

from . import utils
from .utils import dist, to_gpu, to_np


# Author: Remi Flamary <remi.flamary@unice.fr>
#         Leo Gautheron <https://github.com/aje>
#
# License: MIT License

__all__ = ["utils", "dist", "sinkhorn",
           "sinkhorn_lpl1_mm", 'bregman', 'da', 'to_gpu', 'to_np']