/Julia_and_its_applications

2021 年《Julia 语言及其应用》系列讲座的材料

Primary LanguageJupyter NotebookOtherNOASSERTION

Julia 语言及其应用

CC BY-NC-SA 4.0

今年的内容到此已经结束了, 后续应该不会再有更新。

如果时间安排顺利的话, 应该会基于这些内容在 22 年春夏的时候准备一些更正式的材料 (小册子或者视频教程) 发布出来, 如果你觉得这些材料对你或者周围人有帮助的话请点个 star (这样的话我就有动力发电了)

这是我在华东师范大学内部做的一个关于 Julia 的系列讲座时用到的材料, 主要目的是

  • 介绍 Julia 这门语言
  • 介绍一些科学计算中关于性能优化的一些基础知识
  • 作为例子, 介绍一些我所了解领域中的基础知识, 例如: 数值计算、 图像处理、 机器学习和深度学习

如果关于材料的内容有疑问, 欢迎开issue提问.

配置 Julia 请查看 setup

时间及内容安排

时间: 2021年10月10日 - 2021年12月12日, 每周日下午 14:00 - 16:00

地点: 数学科学学院机房教室 200B

内容大纲:

已讲内容:

  • (第一讲 10.10): Julia 概述: 这是⼀⻔什么样的语⾔, 为什么要有这⻔语⾔, 以及当前的⽣态
  • (第二讲 10.17): Julia 的基本数据类型以及函数的定义
  • (第三讲 10.24): Julia 的类型系统和多重派发 (补充材料: 利用 functor 模式打造一个简单的深度学习方案)
  • (第四讲 10.31): 广播与向量化编程 (顺便演示了 Julia-VSCode 还有 Revise.jl
  • (第五讲 11.7): 一个简单的关于卷积的小练习(problems and solution) 顺便还介绍了 Flux 下的 Conv 层的概念, 但由于过于繁忙(懒惰)一直没有把内容补上 (下次一定)
  • (第六讲 11.14): 矩阵与迭代器接口异步模型与多线程模型
  • (第七讲 11.21): 继续介绍 异步与多线程模型, 以及多进程模型的内容 (暂时还没有整理完)。 顺便还介绍了一些关于元编程、 LoopVectorization 以及 Halide 的一些东西。
  • (第八讲 12.5): 从零开始写一个 Julia 包Manifest.toml/Project.toml, 包 注册表, 单元测试及CI, 性能测试, 文档构建

其他

  • 原始仓库放在 GitHub 上面, 考虑到一些同学缺乏一些必要的技术手段, 在国内也镜像到 Gitee了。
  • 致宏关于这些内容自己整理了一系列的笔记,有兴趣的话可以查看 Rex's blog (2021年)