From b85090f04837d26f7de8f4cdbb3ef52159c1bf5a Mon Sep 17 00:00:00 2001 From: Tianbai Xiao Date: Thu, 4 Feb 2021 09:58:43 +0100 Subject: [PATCH] Update docs --- docs/make.jl | 9 ++++- docs/src/assets/icnn.png | Bin 0 -> 16009 bytes docs/src/fortran1.md | 2 +- docs/src/kitml1.md | 63 +++++++++++++++++++++++++++++++ docs/src/{kitml.md => kitml2.md} | 18 +-------- docs/src/reference.md | 3 +- 6 files changed, 74 insertions(+), 21 deletions(-) create mode 100644 docs/src/assets/icnn.png create mode 100644 docs/src/kitml1.md rename docs/src/{kitml.md => kitml2.md} (92%) diff --git a/docs/make.jl b/docs/make.jl index 846c02e1..81adb977 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -50,8 +50,13 @@ parallel_page = [ "CUDA" => "para_cuda.md", ] +ml_page = [ + "KitML" => "kitml1.md", + "UBE" => "kitml2.md", +] + fortran_page = [ - "KitFort.jl" => "fortran1.md", + "KitFort" => "fortran1.md", "Benchmark" => "fortran2.md", ] @@ -71,7 +76,7 @@ makedocs( "Tutorial" => tutorial_page, "Parallelization" => parallel_page, "Utility" => utility_page, - "SciML" => "kitml.md", + "SciML" => ml_page, "Fortran" => fortran_page, "Index" => "function_index.md", "Python" => "python.md", diff --git a/docs/src/assets/icnn.png b/docs/src/assets/icnn.png new file mode 100644 index 0000000000000000000000000000000000000000..03d2566ad95aec0e4e8af0ff4693166fbc420e2e GIT binary patch literal 16009 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 z�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