pub trait ArrayCompute {
// Required methods
fn module(&self) -> &Arc<ArrOgpuModule>;
fn pointer_to_arr(&self) -> [u32; 2];
fn dim(&self) -> usize;
fn stride(&self) -> &Vec<u32>;
fn shape(&self) -> &Vec<u32>;
fn pointer(&self) -> (u32, u32);
fn offset(&self) -> u32;
fn len(&self) -> u32;
fn is_contiguous(&self) -> bool;
fn metadata_compound(&self) -> Option<&MetadataCompound>;
fn check_contiguous_or_view<'a>(&'a self) -> ArrayType<'a>;
}