Skip to main content

Implicit Matrix Trace Estimator. Computes the trace of functions of implicit matrices. Accelerated on CPU and CUDA-capable GPU devices.

Project description

imate, short for Implicit Matrix Trace Estimator, is a modular and high-performance C++/CUDA library distributed as a Python package that provides scalable randomized algorithms for the computationally expensive matrix functions in machine learning.

Install

Install with pip

pypi

pip install imate

Install with conda

conda-version

conda install -c s-ameli imate

Docker Image

docker-pull deploy-docker

docker pull sameli/imate

Supported Platforms

Successful installation and tests performed on the following operating systems, architectures, and Python and PyPy versions:

Platform

Arch

Device

Python Version

PyPy Version 1

Continuous Integration

3.9

3.10

3.11

3.12

3.8

3.9

3.10

Linux

X86-64

CPU

build-linux

GPU

AARCH-64

CPU

GPU

macOS

X86-64

CPU

build-macos

GPU 2

ARM-64

CPU

GPU 2

Windows

X86-64

CPU

build-windows

GPU

Python wheels for imate for all supported platforms and versions in the above are available through PyPI and Anaconda Cloud. If you need imate on other platforms, architectures, and Python or PyPy versions, raise an issue on GitHub and we build its Python Wheel for you.

1. Our wheels for PyPy are exclusively available through pip and cannot be installed using conda.
2. MacOS does not natively support NVIDIA GPUs.

Supported GPU Architectures

imate can run on CUDA-capable multi-GPU devices. Using the docker container is the easiest way to run imate on GPU devices. The supported GPU micro-architectures and CUDA version are as follows:

Version \ Arch

Fermi

Kepler

Maxwell

Pascal

Volta

Turing

Ampere

Hopper

CUDA 9

CUDA 10

CUDA 11

CUDA 12

Documentation

deploy-docs binder

See documentation, including:

Performance

imate is scalable to very large matrices. Its core library for basic linear algebraic operations is faster than OpenBLAS, and its pseudo-random generator is a hundred-fold faster than the implementation in the standard C++ library.

Read about the performance of imate in practical applications:

How to Contribute

We welcome contributions via GitHub’s pull request. If you do not feel comfortable modifying the code, we also welcome feature requests and bug reports as GitHub issues.

How to Cite

If you publish work that uses imate, please consider citing the manuscripts available here.

License

license

This project uses a BSD 3-clause license, in hopes that it will be accessible to most projects. If you require a different license, please raise an issue and we will consider a dual license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imate-0.25.2.tar.gz (381.5 kB view details)

Uploaded Source

Built Distributions

imate-0.25.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

imate-0.25.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded PyPy macOS 11.0+ ARM64

imate-0.25.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

imate-0.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

imate-0.25.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded PyPy macOS 11.0+ ARM64

imate-0.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

imate-0.25.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

imate-0.25.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

imate-0.25.2-cp312-cp312-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.12 Windows x86-64

imate-0.25.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

imate-0.25.2-cp312-cp312-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

imate-0.25.2-cp312-cp312-macosx_10_9_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

imate-0.25.2-cp311-cp311-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.11 Windows x86-64

imate-0.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

imate-0.25.2-cp311-cp311-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

imate-0.25.2-cp311-cp311-macosx_10_9_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

imate-0.25.2-cp310-cp310-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.10 Windows x86-64

imate-0.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

imate-0.25.2-cp310-cp310-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

imate-0.25.2-cp310-cp310-macosx_10_9_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

imate-0.25.2-cp39-cp39-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

imate-0.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

imate-0.25.2-cp39-cp39-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

imate-0.25.2-cp39-cp39-macosx_10_9_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file imate-0.25.2.tar.gz.

File metadata

  • Download URL: imate-0.25.2.tar.gz
  • Upload date:
  • Size: 381.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for imate-0.25.2.tar.gz
Algorithm Hash digest
SHA256 3abce50f1e1a2a241db9dc98d259dd88480e38ac274fd44e31bac05634746aa9
MD5 11648b0032ff4cee205bba2c47d4579b
BLAKE2b-256 f228c23ca9643fb6d5f3b8b81a2139acda19a2c5c49290ae0845edfc885cacd4

See more details on using hashes here.

File details

Details for the file imate-0.25.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86bcc169ab06fa9f1841dcf15aa93a50de93af69838731b9811a1a96d8005592
MD5 475a4cda4193d916b2ec33f3ccfff985
BLAKE2b-256 b23be5042dafae722b21cb2e1b0ffb5e48bd6ca26a88bd93ea9cfbdb9b76eebc

See more details on using hashes here.

File details

Details for the file imate-0.25.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff30d827ce1f6643e07fbcd1420869a39cf023cf85bb44ad5f465ee5ef9b9a2f
MD5 2343f9fa12de553a10234834392c1284
BLAKE2b-256 3ce3736250fee6a424a6690a26c0c8719ffa71ac97600d6b6d6f116f50dd3d7d

See more details on using hashes here.

File details

Details for the file imate-0.25.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2b01fa6ad942d81389e52f126ea326d77a638f03a6ae623a4636cdf579698f40
MD5 112feb0c7cbd5b6f306c5e8e136a2588
BLAKE2b-256 26ba8148e05cda020808efb1b3ee3513c7802d7098646410478e285cef43f997

See more details on using hashes here.

File details

Details for the file imate-0.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e35475c70935a59cda0aa0ef872c00f4e28e7e13e08562a760a10849c7ce98b6
MD5 43dca1a2fd784e30459ed606807fcb0a
BLAKE2b-256 ac5b97ec66b9c8e40f65e448a2178ed796c0a77488867afbca5aa8767921697d

See more details on using hashes here.

File details

Details for the file imate-0.25.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e924be8811e251511f628f7b77d531bac5e7147b13ce8d2e394a1e285c48f756
MD5 7b637bcf905af6b2f39231dc485ef004
BLAKE2b-256 f1b51697882eda09a9a13c4072194489b3eda0b99bbe8c0f181fcb146a71a452

See more details on using hashes here.

File details

Details for the file imate-0.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4df3c90ae796086da2070b0dd99e2e0bb3b6887cd6866799990f7c3d16880cde
MD5 43ddd1c8e908ef6adbd926f63609ef56
BLAKE2b-256 2798054d39cfa8ab511d986a36ad7e0e57447a4c92770f169e2f375e5eb20b32

See more details on using hashes here.

File details

Details for the file imate-0.25.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3be455d076b1f1199efb86013f72de97e9be9f5bdf5c08d82cea1c7d78f2f649
MD5 6940e92b7e0cbf6049d894a3a72d79d3
BLAKE2b-256 4777364fd7e43b3ad3101dfec5ea1d04e83a1dc8ee48ca4a36d7b3a4496da938

See more details on using hashes here.

File details

Details for the file imate-0.25.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f4678073abde16b9ae1f74a77a43d26d7d2c55ab94e12650240efc2957ae0075
MD5 59cf6429f711d707d7bac563dca53208
BLAKE2b-256 5dc2d40c9cd605df655fe03ef9101c19b74d588d4906f95b3ad0c41ee166ffcf

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: imate-0.25.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for imate-0.25.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 db4c859b7aab0dc115ed976789485137c48fb0c0ff2737579d0dd2626c559ab3
MD5 3183a5a62d5f1d73824258cb456b46e3
BLAKE2b-256 bfe32a6ad932e9700c9898c70b653ac4cc18785064e45a1956b7e8d12fff8aee

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c37ac5fc298fea06d714d3ad0591ef6c43c65843f26250a034b87d86f80f6d84
MD5 b47df917045fe820a7580d007f009fc6
BLAKE2b-256 6cc9dfa03dafa4900e2b294f2fe90ea602f770123d0fce57eb64338fdf298660

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7129f8348cf90cf38a64289aa1043fa9993d6d57c68cd7c2c62dc82f7e405376
MD5 7e17cd2bc7267ecfd09171645dfe8cf9
BLAKE2b-256 c4b0be7236e52bf02f77a882ae74481e0603c309898d2bb3f2118ec8330f63e1

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 87fcd35a9c3d4688af4a04c29c2a4029d801da154dcfe688635606c678529483
MD5 02da3f61638a51a97cc71143346a5a7d
BLAKE2b-256 c6f6b90d9c904c2ad3d92aa6c7e431328a50466100672b7ba289fe899ce68f76

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: imate-0.25.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for imate-0.25.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 082b7f1a19f7ec0a024c9efa9f7a4e05601aae9ded5293e134a7e768ae5b8a5d
MD5 bc3187546f6448015c6c4f07d4694f10
BLAKE2b-256 1a75c5dde2302222d151ac499934c3db2d96d7e587b196eb2f32bb00f5c87606

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 995d809253ea57ee55f99f83306cc1789484d75702658bb85827cfe2153c86b3
MD5 fcfa3e1b2db3c6562d74a5e920acd054
BLAKE2b-256 e398f72b9bebf6c7bde29c1ece1ca7f30b50f21fbb54fbaaed21c1cc2a998d85

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f25c5eb9a6666520ceb0c9ab54436c020ed6da66b276b6a0504ef08a6400dc6d
MD5 2788cc32e031e2e25f454cc50f7975a5
BLAKE2b-256 abd7476ba3e9fc9a6fd2b91ec9f053adcc8d49057e26fdde955a46dfc02cbb82

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 99fc19ced3e89721b2f08cdcfdc7fcf7164c713ac7686fce49de227a14a31e91
MD5 44fb212594e4a6708321ea58104b4708
BLAKE2b-256 dd3832e84ef8f922ffc1c926c6417cd638913273851362fc37118b56025c3339

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: imate-0.25.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for imate-0.25.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9318156142aa8efedb1e032f86e2f00dc170566e9c099ec56397b919b5d9efe8
MD5 c6b28e3944e0064bd493876d48e25370
BLAKE2b-256 37977d1e965d6c5166d96d0a83ce8713c2172bf3e8eea166e4deb6c229a3f05a

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec836c2cfe497de1f0eeca7e4dac59c6dd4c89dec510e535ebe43b613ac81725
MD5 6c7f9056573b155d62db9fecdda16685
BLAKE2b-256 e19f14790433eb0e25441b6ee708bad165614945f36c2e8cb66f7d46d8b2e50d

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14852cdf0ee8ce8611bf6af2997cafd7d5c9a13256c2ce0b6f77008d6a1e884d
MD5 2c02e46914c0eb971ef2743ba453b922
BLAKE2b-256 864a08ab3572bab0088cc47f9178beef4a5c5c8648bd2b503c74e28d69be2fd4

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 05c1bfe6e5ce0850d4e271a50f931860f3148783269e0e101e376866ddf87ad1
MD5 0a108fac273a1375a5340d436b1bb08e
BLAKE2b-256 d41e32f825d96336c6932b3f702624d3f66040c13d26537f1b57ac5ae18772fb

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: imate-0.25.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for imate-0.25.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 10710e4ee90e5c77118a00e9f6d765f4f7e2c454c908b432f35272d9f7a8a76c
MD5 831f1d56312494160f3db488c93286aa
BLAKE2b-256 271c6f1b4cb9b367d4bebdd10e2b88f7367b3f6bb586f4101426940e50462d33

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87d877c19f8e78891c7f4d0e5ef56b454c4eaeece3c32735d90cda663f7227dc
MD5 f6402820490463d4a5553fb197c43dc3
BLAKE2b-256 82095d53f3c2f98f94da79c6f33a15f45b1a824188e9726dbef9f4a924de2159

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1303f6926fa76c0cd1bd4ba2b31f975db922987a788357663265e813d18990a1
MD5 ccbe7481e3f07eaec85117b78369b39f
BLAKE2b-256 c9d88f49532547e13ab92676d1cacc853d38cda3bc9738152307c739b90e4c84

See more details on using hashes here.

File details

Details for the file imate-0.25.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for imate-0.25.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e6baa78b8adf9c64aff1783061edb5501f01f9d386e6fb7fe0f02a2062d89680
MD5 f3f15a4c558989c0b8eda531a46c3bf7
BLAKE2b-256 309d3fda67401a6ea2c7237e12774e97b0707dbcb14560b514f0e3d8ec7986a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page