EMLX.NIF (emlx v0.3.0)

Copy Markdown View Source

Elixir bindings for MLX array operations.

Summary

Functions

Functions

abs(arg1, arg2, arg3)

acos(arg1, arg2, arg3)

acosh(arg1, arg2, arg3)

add(arg1, arg2, arg3, arg4)

all(arg1, arg2, arg3, arg4, arg5)

allclose(arg1, arg2, arg3, arg4, arg5, arg6, arg7)

any(arg1, arg2, arg3, arg4, arg5)

arange(arg1, arg2, arg3, arg4, arg5, arg6)

argmax(arg1, arg2, arg3, arg4)

argmax(arg1, arg2, arg3, arg4, arg5)

argmin(arg1, arg2, arg3, arg4)

argmin(arg1, arg2, arg3, arg4, arg5)

argsort(arg1, arg2, arg3, arg4)

array_from_ptr(addr, shape, dtype, byte_size, deleter)

array_from_shm(name, shape, dtype, byte_size)

as_strided(arg1, arg2, arg3, arg4, arg5, arg6)

asin(arg1, arg2, arg3)

asinh(arg1, arg2, arg3)

astype(arg1, arg2, arg3, arg4)

atan2(arg1, arg2, arg3, arg4)

atan(arg1, arg2, arg3)

atanh(arg1, arg2, arg3)

bitwise_and(arg1, arg2, arg3, arg4)

bitwise_not(arg1, arg2, arg3)

bitwise_or(arg1, arg2, arg3, arg4)

bitwise_xor(arg1, arg2, arg3, arg4)

broadcast_to(arg1, arg2, arg3, arg4)

ceil(arg1, arg2, arg3)

clear_cache()

clip(arg1, arg2, arg3, arg4, arg5)

command_queue_new(device)

command_queue_synchronize(queue_ref)

concatenate(arg1, arg2, arg3, arg4)

conjugate(arg1, arg2, arg3)

conv_general(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)

cos(arg1, arg2, arg3)

cosh(arg1, arg2, arg3)

cumulative_max(arg1, arg2, arg3, arg4, arg5, arg6)

cumulative_min(arg1, arg2, arg3, arg4, arg5, arg6)

cumulative_product(arg1, arg2, arg3, arg4, arg5, arg6)

cumulative_sum(arg1, arg2, arg3, arg4, arg5, arg6)

deallocate(arg1)

dequantize(arg1, arg2, arg3, arg4, arg5, arg6, arg7)

divide(arg1, arg2, arg3, arg4)

einsum(arg1, arg2, arg3, arg4, arg5)

equal(arg1, arg2, arg3, arg4)

erf(arg1, arg2, arg3)

erf_inv(arg1, arg2, arg3)

eval(worker, tensor_ref)

exp(arg1, arg2, arg3)

expm1(arg1, arg2, arg3)

eye(arg1, arg2, arg3, arg4, arg5)

fast_layer_norm(arg1, arg2, arg3, arg4, arg5, arg6)

fast_layer_norm_no_bias(arg1, arg2, arg3, arg4, arg5)

fast_rms_norm(arg1, arg2, arg3, arg4, arg5)

fast_rope(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)

fast_rope_ids(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)

fast_rope_positions(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)

fast_rope_with_freqs(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)

fast_sdpa(arg1, arg2, arg3, arg4, arg5, arg6)

fast_sdpa_causal(arg1, arg2, arg3, arg4, arg5, arg6)

fast_sdpa_causal_key_masked(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)

fast_sdpa_masked(arg1, arg2, arg3, arg4, arg5, arg6, arg7)

fast_swiglu(arg1, arg2, arg3, arg4)

fft2(arg1, arg2, arg3, arg4, arg5)

fft(arg1, arg2, arg3, arg4, arg5)

floor(arg1, arg2, arg3)

from_blob(arg1, arg2, arg3, arg4, arg5)

full(arg1, arg2, arg3, arg4, arg5)

gather(arg1, arg2, arg3, arg4, arg5, arg6)

graph_capture(inputs, outputs, shapeless)

graph_replay(compiled_ref, new_inputs)

greater(arg1, arg2, arg3, arg4)

greater_equal(arg1, arg2, arg3, arg4)

ifft2(arg1, arg2, arg3, arg4, arg5)

ifft(arg1, arg2, arg3, arg4, arg5)

imag(arg1, arg2, arg3)

is_infinity(arg1, arg2, arg3)

is_nan(arg1, arg2, arg3)

isclose(arg1, arg2, arg3, arg4, arg5, arg6, arg7)

item(worker, tensor_ref)

kv_cache_attention(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)

kv_cache_attention_masked(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)

kv_cache_sdpa_update(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)

left_shift(arg1, arg2, arg3, arg4)

less(arg1, arg2, arg3, arg4)

less_equal(arg1, arg2, arg3, arg4)

linalg_cholesky(arg1, arg2, arg3, arg4)

linalg_eigh(arg1, arg2, arg3, arg4)

linalg_inv(arg1, arg2, arg3)

linalg_lu(arg1, arg2, arg3)

linalg_pinv(arg1, arg2, arg3)

linalg_qr(arg1, arg2, arg3)

linalg_solve(arg1, arg2, arg3, arg4)

linalg_solve_triangular(arg1, arg2, arg3, arg4, arg5)

linalg_svd(arg1, arg2, arg3, arg4)

load_nifs()

log1p(arg1, arg2, arg3)

log(arg1, arg2, arg3)

logical_and(arg1, arg2, arg3, arg4)

logical_not(arg1, arg2, arg3)

logical_or(arg1, arg2, arg3, arg4)

logical_xor(arg1, arg2, arg3, arg4)

max(arg1, arg2, arg3, arg4, arg5)

maximum(arg1, arg2, arg3, arg4)

memory_info()

metal_start_capture(path)

metal_stop_capture()

min(arg1, arg2, arg3, arg4, arg5)

minimum(arg1, arg2, arg3, arg4)

multiply(arg1, arg2, arg3, arg4)

negate(arg1, arg2, arg3)

not_equal(arg1, arg2, arg3, arg4)

ones(arg1, arg2, arg3, arg4)

pad(arg1, arg2, arg3, arg4, arg5, arg6, arg7)

pow(arg1, arg2, arg3, arg4)

product(arg1, arg2, arg3, arg4, arg5)

quantize(arg1, arg2, arg3, arg4, arg5)

quantized_matmul(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)

quotient(arg1, arg2, arg3, arg4)

real(arg1, arg2, arg3)

remainder(arg1, arg2, arg3, arg4)

reset_peak_memory()

reshape(arg1, arg2, arg3, arg4)

right_shift(arg1, arg2, arg3, arg4)

round(arg1, arg2, arg3)

rsqrt(arg1, arg2, arg3)

scalar_tensor(arg1, arg2, arg3, arg4)

scalar_type(arg1)

scatter(arg1, arg2, arg3, arg4, arg5, arg6)

scatter_add(arg1, arg2, arg3, arg4, arg5, arg6)

set_cache_limit(limit)

set_memory_limit(limit)

shape(arg1)

sigmoid(arg1, arg2, arg3)

sign(arg1, arg2, arg3)

sin(arg1, arg2, arg3)

sinh(arg1, arg2, arg3)

slice(arg1, arg2, arg3, arg4, arg5, arg6)

slice_update(arg1, arg2, arg3, arg4, arg5, arg6)

sort(arg1, arg2, arg3, arg4)

sqrt(arg1, arg2, arg3)

squeeze(arg1, arg2, arg3, arg4)

stack(arg1, arg2, arg3, arg4)

strides(arg1)

subtract(arg1, arg2, arg3, arg4)

sum(arg1, arg2, arg3, arg4, arg5)

take(arg1, arg2, arg3, arg4, arg5)

take_along_axis(arg1, arg2, arg3, arg4, arg5)

tan(arg1, arg2, arg3)

tanh(arg1, arg2, arg3)

tensor_data_ptr(tensor)

tensor_to_shm(worker, tensor, permissions)

tensordot(arg1, arg2, arg3, arg4, arg5, arg6)

to_blob(worker, tensor)

to_blob(worker, tensor, limit)

transpose(arg1, arg2, arg3, arg4)

tri_inv(arg1, arg2, arg3, arg4)

view(arg1, arg2, arg3, arg4)

where(arg1, arg2, arg3, arg4, arg5)

window_scatter_max(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)

window_scatter_min(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)