Updated C API that is more reliable and doesn't rely on opensl-io anymore