From d7f729fb8f1d4b224f18ca3d7ae1163afe57a094 Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Tue, 27 Jun 2023 11:57:27 +0200 Subject: [PATCH] Refactor the hierarchy. --- Cargo.toml | 36 ++----------------- candle-core/Cargo.toml | 32 +++++++++++++++++ LICENSE => candle-core/LICENSE | 0 Makefile => candle-core/Makefile | 0 README.md => candle-core/README.md | 0 {examples => candle-core/examples}/basics.rs | 0 .../examples}/cuda_basics.rs | 0 .../examples}/llama/convert_checkpoint.py | 0 .../examples}/llama/main.rs | 0 .../examples}/llama/var_store.rs | 0 {src => candle-core/src}/backprop.rs | 0 {src => candle-core/src}/cpu_backend.rs | 0 {src => candle-core/src}/cuda_backend.rs | 0 {src => candle-core/src}/device.rs | 0 {src => candle-core/src}/dtype.rs | 0 .../src}/dummy_cuda_backend.rs | 0 {src => candle-core/src}/error.rs | 0 {src => candle-core/src}/lib.rs | 0 {src => candle-core/src}/npy.rs | 0 {src => candle-core/src}/op.rs | 0 {src => candle-core/src}/shape.rs | 0 {src => candle-core/src}/storage.rs | 0 {src => candle-core/src}/strided_index.rs | 0 {src => candle-core/src}/tensor.rs | 0 {tests => candle-core/tests}/grad_tests.rs | 0 {tests => candle-core/tests}/tensor_tests.rs | 0 {kernels => candle-kernels}/Cargo.toml | 0 {kernels => candle-kernels}/README.md | 0 {kernels => candle-kernels}/build.rs | 0 {kernels => candle-kernels}/src/affine.cu | 0 {kernels => candle-kernels}/src/binary.cu | 0 .../src/binary_op_macros.cuh | 0 {kernels => candle-kernels}/src/cast.cu | 0 .../src/compatibility.cuh | 0 .../src/cuda_utils.cuh | 0 {kernels => candle-kernels}/src/embeddings.cu | 0 {kernels => candle-kernels}/src/fill.cu | 0 {kernels => candle-kernels}/src/lib.rs | 0 {kernels => candle-kernels}/src/reduce.cu | 0 {kernels => candle-kernels}/src/ternary.cu | 0 {kernels => candle-kernels}/src/unary.cu | 0 41 files changed, 35 insertions(+), 33 deletions(-) create mode 100644 candle-core/Cargo.toml rename LICENSE => candle-core/LICENSE (100%) rename Makefile => candle-core/Makefile (100%) rename README.md => candle-core/README.md (100%) rename {examples => candle-core/examples}/basics.rs (100%) rename {examples => candle-core/examples}/cuda_basics.rs (100%) rename {examples => candle-core/examples}/llama/convert_checkpoint.py (100%) rename {examples => candle-core/examples}/llama/main.rs (100%) rename {examples => candle-core/examples}/llama/var_store.rs (100%) rename {src => candle-core/src}/backprop.rs (100%) rename {src => candle-core/src}/cpu_backend.rs (100%) rename {src => candle-core/src}/cuda_backend.rs (100%) rename {src => candle-core/src}/device.rs (100%) rename {src => candle-core/src}/dtype.rs (100%) rename {src => candle-core/src}/dummy_cuda_backend.rs (100%) rename {src => candle-core/src}/error.rs (100%) rename {src => candle-core/src}/lib.rs (100%) rename {src => candle-core/src}/npy.rs (100%) rename {src => candle-core/src}/op.rs (100%) rename {src => candle-core/src}/shape.rs (100%) rename {src => candle-core/src}/storage.rs (100%) rename {src => candle-core/src}/strided_index.rs (100%) rename {src => candle-core/src}/tensor.rs (100%) rename {tests => candle-core/tests}/grad_tests.rs (100%) rename {tests => candle-core/tests}/tensor_tests.rs (100%) rename {kernels => candle-kernels}/Cargo.toml (100%) rename {kernels => candle-kernels}/README.md (100%) rename {kernels => candle-kernels}/build.rs (100%) rename {kernels => candle-kernels}/src/affine.cu (100%) rename {kernels => candle-kernels}/src/binary.cu (100%) rename {kernels => candle-kernels}/src/binary_op_macros.cuh (100%) rename {kernels => candle-kernels}/src/cast.cu (100%) rename {kernels => candle-kernels}/src/compatibility.cuh (100%) rename {kernels => candle-kernels}/src/cuda_utils.cuh (100%) rename {kernels => candle-kernels}/src/embeddings.cu (100%) rename {kernels => candle-kernels}/src/fill.cu (100%) rename {kernels => candle-kernels}/src/lib.rs (100%) rename {kernels => candle-kernels}/src/reduce.cu (100%) rename {kernels => candle-kernels}/src/ternary.cu (100%) rename {kernels => candle-kernels}/src/unary.cu (100%) diff --git a/Cargo.toml b/Cargo.toml index de6b80f6..4b00fc60 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,37 +1,7 @@ -[package] -name = "candle" -version = "0.1.0" -edition = "2021" - -description = "Minimalist ML framework." -repository = "https://github.com/LaurentMazare/candle" -keywords = ["blas", "tensor", "machine-learning"] -categories = ["science"] -license = "MIT/Apache-2.0" -readme = "README.md" - [workspace] + members = [ - "kernels", + "candle-core", + "candle-kernels", ] -[dependencies] -safetensors = "0.3.1" -thiserror = "1" -cudarc = { version = "0.9.9", optional = true, features = ["f16"] } -candle-kernels = { path = "kernels", optional = true } -gemm = "0.15.4" -zip = { version = "0.6.6", default-features=false } -byteorder = "1.4.3" -half = { version = "2.3.1", features = ["num-traits"] } -num-traits = "0.2.15" - -[dev-dependencies] -anyhow = "1" -clap = { version = "4.2.4", features = ["derive"] } -rand = "0.8.5" -tokenizers = { version = "0.13.3", default-features=false, features=["onig"] } - -[features] -default = ["cuda"] -cuda = ["dep:cudarc", "dep:candle-kernels"] diff --git a/candle-core/Cargo.toml b/candle-core/Cargo.toml new file mode 100644 index 00000000..97215953 --- /dev/null +++ b/candle-core/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "candle" +version = "0.1.0" +edition = "2021" + +description = "Minimalist ML framework." +repository = "https://github.com/LaurentMazare/candle" +keywords = ["blas", "tensor", "machine-learning"] +categories = ["science"] +license = "MIT/Apache-2.0" +readme = "README.md" + +[dependencies] +safetensors = "0.3.1" +thiserror = "1" +cudarc = { version = "0.9.9", optional = true, features = ["f16"] } +candle-kernels = { path = "../candle-kernels", optional = true } +gemm = "0.15.4" +zip = { version = "0.6.6", default-features=false } +byteorder = "1.4.3" +half = { version = "2.3.1", features = ["num-traits"] } +num-traits = "0.2.15" + +[dev-dependencies] +anyhow = "1" +clap = { version = "4.2.4", features = ["derive"] } +rand = "0.8.5" +tokenizers = { version = "0.13.3", default-features=false, features=["onig"] } + +[features] +default = ["cuda"] +cuda = ["dep:cudarc", "dep:candle-kernels"] diff --git a/LICENSE b/candle-core/LICENSE similarity index 100% rename from LICENSE rename to candle-core/LICENSE diff --git a/Makefile b/candle-core/Makefile similarity index 100% rename from Makefile rename to candle-core/Makefile diff --git a/README.md b/candle-core/README.md similarity index 100% rename from README.md rename to candle-core/README.md diff --git a/examples/basics.rs b/candle-core/examples/basics.rs similarity index 100% rename from examples/basics.rs rename to candle-core/examples/basics.rs diff --git a/examples/cuda_basics.rs b/candle-core/examples/cuda_basics.rs similarity index 100% rename from examples/cuda_basics.rs rename to candle-core/examples/cuda_basics.rs diff --git a/examples/llama/convert_checkpoint.py b/candle-core/examples/llama/convert_checkpoint.py similarity index 100% rename from examples/llama/convert_checkpoint.py rename to candle-core/examples/llama/convert_checkpoint.py diff --git a/examples/llama/main.rs b/candle-core/examples/llama/main.rs similarity index 100% rename from examples/llama/main.rs rename to candle-core/examples/llama/main.rs diff --git a/examples/llama/var_store.rs b/candle-core/examples/llama/var_store.rs similarity index 100% rename from examples/llama/var_store.rs rename to candle-core/examples/llama/var_store.rs diff --git a/src/backprop.rs b/candle-core/src/backprop.rs similarity index 100% rename from src/backprop.rs rename to candle-core/src/backprop.rs diff --git a/src/cpu_backend.rs b/candle-core/src/cpu_backend.rs similarity index 100% rename from src/cpu_backend.rs rename to candle-core/src/cpu_backend.rs diff --git a/src/cuda_backend.rs b/candle-core/src/cuda_backend.rs similarity index 100% rename from src/cuda_backend.rs rename to candle-core/src/cuda_backend.rs diff --git a/src/device.rs b/candle-core/src/device.rs similarity index 100% rename from src/device.rs rename to candle-core/src/device.rs diff --git a/src/dtype.rs b/candle-core/src/dtype.rs similarity index 100% rename from src/dtype.rs rename to candle-core/src/dtype.rs diff --git a/src/dummy_cuda_backend.rs b/candle-core/src/dummy_cuda_backend.rs similarity index 100% rename from src/dummy_cuda_backend.rs rename to candle-core/src/dummy_cuda_backend.rs diff --git a/src/error.rs b/candle-core/src/error.rs similarity index 100% rename from src/error.rs rename to candle-core/src/error.rs diff --git a/src/lib.rs b/candle-core/src/lib.rs similarity index 100% rename from src/lib.rs rename to candle-core/src/lib.rs diff --git a/src/npy.rs b/candle-core/src/npy.rs similarity index 100% rename from src/npy.rs rename to candle-core/src/npy.rs diff --git a/src/op.rs b/candle-core/src/op.rs similarity index 100% rename from src/op.rs rename to candle-core/src/op.rs diff --git a/src/shape.rs b/candle-core/src/shape.rs similarity index 100% rename from src/shape.rs rename to candle-core/src/shape.rs diff --git a/src/storage.rs b/candle-core/src/storage.rs similarity index 100% rename from src/storage.rs rename to candle-core/src/storage.rs diff --git a/src/strided_index.rs b/candle-core/src/strided_index.rs similarity index 100% rename from src/strided_index.rs rename to candle-core/src/strided_index.rs diff --git a/src/tensor.rs b/candle-core/src/tensor.rs similarity index 100% rename from src/tensor.rs rename to candle-core/src/tensor.rs diff --git a/tests/grad_tests.rs b/candle-core/tests/grad_tests.rs similarity index 100% rename from tests/grad_tests.rs rename to candle-core/tests/grad_tests.rs diff --git a/tests/tensor_tests.rs b/candle-core/tests/tensor_tests.rs similarity index 100% rename from tests/tensor_tests.rs rename to candle-core/tests/tensor_tests.rs diff --git a/kernels/Cargo.toml b/candle-kernels/Cargo.toml similarity index 100% rename from kernels/Cargo.toml rename to candle-kernels/Cargo.toml diff --git a/kernels/README.md b/candle-kernels/README.md similarity index 100% rename from kernels/README.md rename to candle-kernels/README.md diff --git a/kernels/build.rs b/candle-kernels/build.rs similarity index 100% rename from kernels/build.rs rename to candle-kernels/build.rs diff --git a/kernels/src/affine.cu b/candle-kernels/src/affine.cu similarity index 100% rename from kernels/src/affine.cu rename to candle-kernels/src/affine.cu diff --git a/kernels/src/binary.cu b/candle-kernels/src/binary.cu similarity index 100% rename from kernels/src/binary.cu rename to candle-kernels/src/binary.cu diff --git a/kernels/src/binary_op_macros.cuh b/candle-kernels/src/binary_op_macros.cuh similarity index 100% rename from kernels/src/binary_op_macros.cuh rename to candle-kernels/src/binary_op_macros.cuh diff --git a/kernels/src/cast.cu b/candle-kernels/src/cast.cu similarity index 100% rename from kernels/src/cast.cu rename to candle-kernels/src/cast.cu diff --git a/kernels/src/compatibility.cuh b/candle-kernels/src/compatibility.cuh similarity index 100% rename from kernels/src/compatibility.cuh rename to candle-kernels/src/compatibility.cuh diff --git a/kernels/src/cuda_utils.cuh b/candle-kernels/src/cuda_utils.cuh similarity index 100% rename from kernels/src/cuda_utils.cuh rename to candle-kernels/src/cuda_utils.cuh diff --git a/kernels/src/embeddings.cu b/candle-kernels/src/embeddings.cu similarity index 100% rename from kernels/src/embeddings.cu rename to candle-kernels/src/embeddings.cu diff --git a/kernels/src/fill.cu b/candle-kernels/src/fill.cu similarity index 100% rename from kernels/src/fill.cu rename to candle-kernels/src/fill.cu diff --git a/kernels/src/lib.rs b/candle-kernels/src/lib.rs similarity index 100% rename from kernels/src/lib.rs rename to candle-kernels/src/lib.rs diff --git a/kernels/src/reduce.cu b/candle-kernels/src/reduce.cu similarity index 100% rename from kernels/src/reduce.cu rename to candle-kernels/src/reduce.cu diff --git a/kernels/src/ternary.cu b/candle-kernels/src/ternary.cu similarity index 100% rename from kernels/src/ternary.cu rename to candle-kernels/src/ternary.cu diff --git a/kernels/src/unary.cu b/candle-kernels/src/unary.cu similarity index 100% rename from kernels/src/unary.cu rename to candle-kernels/src/unary.cu