Skip to main content

Numba-CUDA-MLIR

Numba-CUDA-MLIR provides a programming model similar to CUDA C++ in Python. It is evolved from Numba-CUDA, and is intended to be compatible with Numba-CUDA kernels.

Numba-CUDA-MLIR aims to interoperate well with existing programming models whilst also allowing experts sufficient control over code generation.

Quick Start

Install with pip:

pip install numba-cuda-mlir[cu13]  # or [cu12] if using CUDA 12

Writing and executing a simple vector add kernel:

import numpy as np
from numba_cuda_mlir import cuda

@cuda.jit
def vector_add(a, b, out):
    i = cuda.grid(1)
    if i < out.shape[0]:
        out[i] = a[i] + b[i]

n = 1_000_000
a = np.ones(n, dtype=np.float32)
b = np.ones(n, dtype=np.float32)
out = np.zeros(n, dtype=np.float32)

threads_per_block = 256
blocks = (n + threads_per_block - 1) // threads_per_block
vector_add[blocks, threads_per_block](a, b, out)

Migration from Numba / Numba-CUDA

Change imports to use the numba_cuda_mlir.cuda package instead of numba.cuda. For example:

from numba import cuda

becomes:

from numba_cuda_mlir import cuda

For the majority of code using Numba-CUDA, this should be a sufficient change to enable the use of Numba-CUDA-MLIR. For code using the extension APIs, modifications will be required as Numba-CUDA-MLIR uses MLIR in its code generation process instead of LLVM IR. See the Migration Guidance in the documentation for further details.

Installation Requirements

  • Python >= 3.11, with:
    • The cuda.core and cuda-bindings packages
    • NumPy >= 1.22
  • CUDA Toolkit components (CUDA Runtime, NVCC, NVRTC, nvJitLink, and CCCL) installed via pip or a system package manager (Linux).
  • NVIDIA GPU with Compute Capability 7.0 or greater and a compatible driver:
    • >= r525 for CUDA 12.x
    • >= r580 for CUDA 13.x

Installation guidance

For full details of installation methods including from packages and building from source and testing, please see INSTALL.md.

Contributing to Numba-CUDA-MLIR

See the Contribution Guidelines for information on how to set up a development environment and follow the contribution process.

Benchmarks

A small suite of benchmarks can be executed from the source repository by running:

pytest tests/benchmarks/ --benchmark -s

Licensing

Numba-CUDA-MLIR is distributed under the Apache License 2.0.

It incorporates the following third-party projects, each retained under its original license:

  1. numba-cudaBSD 2-Clause License
  2. cloudpickleBSD 3-Clause License
  3. appdirsMIT License
  4. LLVM Project / EUDSLApache License 2.0 WITH LLVM-exception

See NOTICE for the full attribution map and per-component locations in this repository, and THIRD-PARTY-LICENSES for the verbatim upstream license texts.

Contributions are accepted under the terms described in CONTRIBUTING.md.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

numba_cuda_mlir-0.5.0-cp314-cp314t-win_amd64.whl (48.5 MB view details)

Uploaded CPython 3.14tWindows x86-64

numba_cuda_mlir-0.5.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (71.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

numba_cuda_mlir-0.5.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (67.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

numba_cuda_mlir-0.5.0-cp314-cp314-win_amd64.whl (48.3 MB view details)

Uploaded CPython 3.14Windows x86-64

numba_cuda_mlir-0.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (71.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

numba_cuda_mlir-0.5.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (67.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

numba_cuda_mlir-0.5.0-cp313-cp313-win_amd64.whl (47.0 MB view details)

Uploaded CPython 3.13Windows x86-64

numba_cuda_mlir-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (71.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

numba_cuda_mlir-0.5.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (67.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

numba_cuda_mlir-0.5.0-cp312-cp312-win_amd64.whl (47.0 MB view details)

Uploaded CPython 3.12Windows x86-64

numba_cuda_mlir-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (71.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

numba_cuda_mlir-0.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (67.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

numba_cuda_mlir-0.5.0-cp311-cp311-win_amd64.whl (47.0 MB view details)

Uploaded CPython 3.11Windows x86-64

numba_cuda_mlir-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (71.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

numba_cuda_mlir-0.5.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (67.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

numba_cuda_mlir-0.5.0-cp310-cp310-win_amd64.whl (47.0 MB view details)

Uploaded CPython 3.10Windows x86-64

numba_cuda_mlir-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (71.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

numba_cuda_mlir-0.5.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (67.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file numba_cuda_mlir-0.5.0-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 7a7fae5d4beb9a569623b330a3bb11d5548b95449c7f547b11e3d1c1b0958fbb
MD5 0165f9d3e0fa2f117622802465f06975
BLAKE2b-256 94919e5f6b6b7a0c21448da85fa0246e45a09010d9b348e843506a8d4d07479c

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp314-cp314t-win_amd64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4597ec31b09ae8548eb8e4d71fa8872cd0538094cf5d41b6f6b4ad04c8143ec6
MD5 1c64476cec64841cf68b3d66afdcb790
BLAKE2b-256 afcb75eae6079c32cadaaed4f5fda8867694b76036abb195aa18ef998d88bbe8

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5385865e55383a2a50a7a0d143a2593dda63ab567dbbea5fe464904c605c29fe
MD5 2399dd0748632b75777173e85f035cbc
BLAKE2b-256 85a7e14b58dab02198c42d87b9ba11b17e74eecfb1b91279e7dafcc66b4a59ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c40e132610a72b42394ec33378e823fadf8bfadae5b291c59c49775f35226452
MD5 6ca7be51f6cc54e5a76acaebc331c104
BLAKE2b-256 ceaaf0dc48bcd528ae02c6970377a6953fa3fe708e204203a9657dec90a5065a

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp314-cp314-win_amd64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4a83de3cca3eae995d83bac052ccbbcc38d68fffcaa90a2dc918b985fedc69f
MD5 12c2a150774682e407997e77234258c7
BLAKE2b-256 789d6393e875bad2310253c5ee0931e4d52b31f9bba1fd6832cf95a2e83a55c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0e6068095cb3b1014d03013670a6ed370c23e916078b9b8ddfae998cdfe287a9
MD5 413d2a95281f731dc4d8bd0966c40e94
BLAKE2b-256 247fc370d4d42cee6c974f9d603f141570b6113d430e8e660b217e6d00aab8da

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2bc53d3e5c0de64d06a3de4de041fc4e317acb3f0ea5ace7f37355512e9351a7
MD5 e1fc5aa6c0036d6df062412f0e50dd0f
BLAKE2b-256 07bad727d06527c2a5ae39ef3225d1ed2ba7c5a3171f51360f2e6ca52b61b9f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05f5218abaddcba2f6d68f51e7115062ec01f00dd04511a48a14131b77605b77
MD5 4abe74cee01ce98651531ec06742910b
BLAKE2b-256 ad5b0fa0707ddaa070faf5287eeab8ec54e6ca606286f9d2e2b1b92ededb4098

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a19bec344064242a194f9d9bdd95cd9a04971827466c2476ae7d5c0d36214ff2
MD5 65b772b4357432d1fb5d97103fb70178
BLAKE2b-256 7a6471dbfd9c5f897b3fbccd319b0c4a2c6299a6a2b05cd07e240641d742d7f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 84f6f60dc60a9784af0cd2faa182a27bbc315dc621948edeb651cc6ac2f934ba
MD5 53083ba846f01494df67794abf42b3e4
BLAKE2b-256 244f591a25b67f2e3366400e59f7d3748d88a16470ae5c05f1571864e5e51ddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 78be72ec54e59be97229bf4e562d25800e3c3b454f845f65e93169e1276c954c
MD5 01284410401dbab131cdb49e74ba9bfa
BLAKE2b-256 9d0fd3376f9d894d9fed5783f290eb630ec0f3667bbef48300028d5d5bfa08b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ad57888afb8f961c597295fe63d8670215171eac9efb26fb9f44c53964379f99
MD5 d1eba29249bf98822a998005a83b8f30
BLAKE2b-256 b95d08b6f7ef31224eb227768e63d454815dec372638ad4c8ba2409f0d533dcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2c245f27d7a7d46607b2d2b89d1d94695d19dd44f2e0efcee298ed79bf654902
MD5 bb1e1a3b88a647a2d84aec1cde0a34a1
BLAKE2b-256 8defefbe6fe48acd1a9124f2df9672b60147788300ab110753fb9772c1d26c1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp311-cp311-win_amd64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a569f37a60e7e9cacf4e00affb275e2c1a44af472a6e1fdf3b49fd9711f3fe0e
MD5 1ce9b61c576ceb5df970d1167f2c179b
BLAKE2b-256 960e47fe1e135ceef7980ef0cd1bd4c92cb4a92145a898fb8ec892b623f8d751

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ad4cd5a0276f953a9cd6aa39eaabbd93d54a76c1b8e2121fc8eb2c230af32288
MD5 3c572638da6095cc607b34787d8ea209
BLAKE2b-256 b60393bb0fb21f23aedd6a55c49aa6a6ad80f9437386a8c401e38051231c2931

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0490588feeaf54860bc222f21645518705c9227ab499ca89a1338e83acb3e9b1
MD5 2726a5354663e4bfb780f6700d46476a
BLAKE2b-256 9eb61b42fb8e0f18113b012691b537c908c5beb24c96909255f32e3b7c930a65

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp310-cp310-win_amd64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c245f7e5cd07d906401c3d55837bd4097244bafa81b74577b1c9f67c0a28f5c6
MD5 271815d85de9c625a34f521269b4a56d
BLAKE2b-256 e4e886a85518740bbe67226a91d26b677dbeea3daa91da5b479043f8657a6ecf

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file numba_cuda_mlir-0.5.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for numba_cuda_mlir-0.5.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 107d7e7269a44acc01b1baaa7f49a9df34dabaf298b321dc0d004b5a87cda1a9
MD5 410a854faba3c5676a92249a72f31944
BLAKE2b-256 a3995097257341ecddf3d7750bb0a897bf36842b55282548739d583227932605

See more details on using hashes here.

Provenance

The following attestation bundles were made for numba_cuda_mlir-0.5.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yaml on NVIDIA/numba-cuda-mlir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.5.2

18 files

0.5.1

18 files

This release

0.5.0 This release

18 files

0.4.2

15 files

0.4.1

15 files

0.4.0

15 files

0.3.0

10 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page