# `EMLX.NIF`
[🔗](https://github.com/elixir-nx/emlx/blob/v0.4.2/emlx/lib/emlx/nif.ex#L1)

Elixir bindings for MLX array operations.

# `abs`

# `acos`

# `acosh`

# `add`

# `all`

# `allclose`

# `any`

# `arange`

# `argmax`

# `argmax`

# `argmin`

# `argmin`

# `argsort`

# `array_from_ptr`

# `array_from_shm`

# `as_strided`

# `asin`

# `asinh`

# `astype`

# `atan2`

# `atan`

# `atanh`

# `bitwise_and`

# `bitwise_not`

# `bitwise_or`

# `bitwise_xor`

# `broadcast_to`

# `ceil`

# `clear_cache`

# `clip`

# `command_queue_new`

# `command_queue_synchronize`

# `compile_program`

# `concatenate`

# `conjugate`

# `conv_general`

# `copy`

# `cos`

# `cosh`

# `cumulative_max`

# `cumulative_min`

# `cumulative_product`

# `cumulative_sum`

# `deallocate`

# `dequantize`

# `divide`

# `einsum`

# `equal`

# `erf`

# `erf_inv`

# `eval`

# `eval_many`

# `eval_program`

# `exp`

# `expm1`

# `eye`

# `fast_layer_norm`

# `fast_layer_norm_no_bias`

# `fast_rms_norm`

# `fast_rope`

# `fast_rope_ids`

# `fast_rope_positions`

# `fast_rope_with_freqs`

# `fast_sdpa`

# `fast_sdpa_causal`

# `fast_sdpa_causal_key_masked`

# `fast_sdpa_masked`

# `fast_swiglu`

# `fft2`

# `fft`

# `floor`

# `from_blob`

# `full`

# `gather`

# `gather_qmm`

# `greater`

# `greater_equal`

# `ifft2`

# `ifft`

# `imag`

# `is_infinity`

# `is_nan`

# `isclose`

# `item`

# `kv_cache_attention`

# `kv_cache_attention_masked`

# `kv_cache_sdpa_update`

# `left_shift`

# `less`

# `less_equal`

# `linalg_cholesky`

# `linalg_eigh`

# `linalg_inv`

# `linalg_lu`

# `linalg_pinv`

# `linalg_qr`

# `linalg_solve`

# `linalg_solve_triangular`

# `linalg_svd`

# `load_nifs`

Loads the EMLX native image.

Reloading the Elixir module with the same native image preserves MLX arrays,
command queues, compiled programs, and plugin callbacks. Replacing the native
image still requires restarting the BEAM VM because that state lives for the
lifetime of the process.

# `load_plugin`

# `log1p`

# `log`

# `logical_and`

# `logical_not`

# `logical_or`

# `logical_xor`

# `max`

# `maximum`

# `memory_info`

# `metal_start_capture`

# `metal_stop_capture`

# `min`

# `minimum`

# `multiply`

# `negate`

# `not_equal`

# `ones`

# `pad`

# `pow`

# `product`

# `quantize`

# `quantized_matmul`

# `quotient`

# `real`

# `remainder`

# `reset_peak_memory`

# `reshape`

# `resolve_runtime_call`

# `right_shift`

# `round`

# `rsqrt`

# `scalar_tensor`

# `scalar_type`

# `scatter`

# `scatter_add`

# `set_cache_limit`

# `set_memory_limit`

# `shape`

# `shm_unlink_handle`

# `sigmoid`

# `sign`

# `sin`

# `sinh`

# `slice`

# `slice_update`

# `sort`

# `sqrt`

# `squeeze`

# `stack`

# `strides`

# `subtract`

# `sum`

# `take`

# `take_along_axis`

# `tan`

# `tanh`

# `tensor_data_ptr`

# `tensor_to_shm`

# `tensordot`

# `to_blob`

# `to_blob`

# `to_device`

# `transpose`

# `tri_inv`

# `view`

# `where`

# `window_scatter_max`

# `window_scatter_min`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
