@triton.autotune(configs=get_autotune_config(), key=['n_elements'])
@triton.jit
def triple_mul_kernel(A_ptr, B_ptr, C_ptr, output_ptr, n_elements,
    BLOCK_SIZE: tl.constexpr):
    pid = tl.program_id(axis=0)
    block_start = pid * BLOCK_SIZE
    offsets = block_start + tl.arange(0, BLOCK_SIZE)
    mask = offsets < n_elements
    A = tl.load(A_ptr + offsets, mask=mask)
    B = tl.load(B_ptr + offsets, mask=mask)
    C = tl.load(C_ptr + offsets, mask=mask)
    output = A * B * C
    tl.store(output_ptr + offsets, output, mask=mask)
