crates/ratchet-core/src/tensor.rs (5 lines): - line 254: //TODO: avoid broadcasting if either operand is scalar - line 384: //TODO: switch dim to isize and allow negative indexing - line 399: //TODO: horrific interface - line 425: /// TODO: should allow mixed range types - line 542: //TODO: fix copy on CPU crates/ratchet-loader/src/gguf/dtype.rs (5 lines): - line 49: //TODO: these should be uninit - line 93: //TODO: these should be uninit - line 127: //TODO: code reuse - line 138: //TODO: these should be uninit - line 174: //TODO: these should be uninit crates/ratchet-core/src/gpu/buffer_allocator/allocator.rs (3 lines): - line 149: //TODO: operations should define their "inplace" source - line 202: //TODO: Warning: could be a bug here - line 288: let mut free = Vec::with_capacity(execution_order.len()); //TODO: switch to BTreeMap crates/ratchet-core/src/ops/conv.rs (3 lines): - line 1: //TODO: move this to a custom operation - line 22: //dilation: usize, TODO: implement dilation - line 167: ((i_size + (2 * pad) - dil * (k_size - 1) - 1) / stride) + 1 //TODO: Missing floor crates/ratchet-models/src/phi2/attn.rs (3 lines): - line 75: //TODO: hardcoded for Phi2, should read from meta - line 110: //TODO: - line 137: //TODO: can we just use the built in transposed matmul? crates/ratchet-models/src/phi3/model.rs (3 lines): - line 160: const MAX_CACHE: usize = 4096; //TODO: configurable - line 214: //TODO: dedup - line 365: tokens.insert(0, 1); //TODO: what is going on here with tokenizers? crates/ratchet-core/src/cpu/reindex.rs (2 lines): - line 39: // TODO: Optimize. - line 181: // TODO: Optimize. crates/ratchet-core/src/cpu/mod.rs (2 lines): - line 52: // TODO: Add support for other indexing types - line 95: // TODO: Add support for direct indexing + partial dequantization crates/ratchet-models/src/phi2/model.rs (2 lines): - line 131: const MAX_CACHE: usize = 1024; //TODO: configurable - line 176: //TODO: dedup crates/ratchet-core/src/ops/select.rs (2 lines): - line 76: //TODO: support others - line 142: //TODO: REFACTOR crates/ratchet-core/src/compiled_op.rs (1 line): - line 10: //TODO: We need to be more general here, enum with encoder.copy_buffer_to_buffer as a COPY, and crates/ratchet-core/src/device.rs (1 line): - line 14: StorageCreationFailed(#[from] PoolError), //TODO: shouldn't be PoolError crates/ratchet-models/src/whisper/tokenizer.rs (1 line): - line 73: //TODO: dumb hack crates/ratchet-loader/src/lib.rs (1 line): - line 51: //TODO: disambiguate F and H variants crates/ratchet-hub/src/lib.rs (1 line): - line 185: //TODO: we should fetch bytes when needed for header crates/ratchet-loader/src/gguf/gguf.rs (1 line): - line 80: let mut raw_data = vec![0u8; size_in_bytes]; //TODO: MaybeUninit crates/ratchet-core/src/ops/reindex/broadcast.rs (1 line): - line 30: //TODO: check the broadcast is valid crates/ratchet-core/src/op.rs (1 line): - line 332: //TODO: Not sure i like this call here crates/ratchet-core/src/ops/cast.rs (1 line): - line 38: //TODO: This is a bit of a hack, this match should be formalized crates/ratchet-core/src/ops/rope.rs (1 line): - line 55: //TODO: overly restrictive crates/ratchet-core/src/enforcer.rs (1 line): - line 11: a: usize, //TODO: RDim crates/ratchet-core/src/gpu/mod.rs (1 line): - line 24: pub const STORAGE_BUFFER_ALIGN: usize = 256; //TODO: should be a device limit crates/ratchet-core/src/dtype/blocks.rs (1 line): - line 67: //TODO: Segments could be derived using a macro