Skip to content

Commit

Permalink
Move images into images folder, adjust sizes
Browse files Browse the repository at this point in the history
  • Loading branch information
mkitti committed Jul 23, 2023
1 parent 9ada3ff commit 7445103
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 20 deletions.
File renamed without changes
File renamed without changes
File renamed without changes
47 changes: 27 additions & 20 deletions docs/juliacon_2023/juliacon_2023_presentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ HDF5 is used as a base for other formats

The HDF5 specification is open and freely available.

![](specification_toc.png)
![width:600px](images/specification_toc.png)

https://docs.hdfgroup.org/hdf5/v1_14/_f_m_t3.html

Expand All @@ -52,7 +52,7 @@ https://docs.hdfgroup.org/hdf5/v1_14/_f_m_t3.html

HDF5 structures are variably sized and use Bob Jenkin's Lookup3 checksum for metadata integrity.

![](superblock.png)
![width:800px](images/superblock.png)

https://docs.hdfgroup.org/hdf5/v1_14/_f_m_t3.html#Superblock

Expand All @@ -72,7 +72,7 @@ https://docs.hdfgroup.org/hdf5/v1_14/_f_m_t3.html#Superblock
00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
```

![](format_signature.png)
![](images/format_signature.png)

---

Expand Down Expand Up @@ -201,23 +201,9 @@ julia> h5open("mystruct.h5", "r") do h5f

---

# Compression Filter Plugin Packages

<!--During the talk explain what these do and when/why you would want to use them-->

Glue code written in Julia.

* H5Zblosc.jl - Blosc.jl (Thank you, Steven G. Johnson)
* H5Zzstd.jl - CodecZstd.jl
* H5Zlz4.jl - CodecLZ4.jl
* H5Zbzip2.jl - CodecBzip2.jl
* H5Zbitshuffle.jl

---

# Chunking and Built-in Gzip Compression Usage


In HDF5.jl version 0.16 we introduced a new general filter keyword allowing for the definition of filter pipelines.
```julia
using HDF5

Expand All @@ -232,6 +218,22 @@ end

---

# Compression Filter Plugin Packages

<!--During the talk explain what these do and when/why you would want to use them-->

Glue code written in Julia.

* H5Zblosc.jl - Blosc.jl (Thank you, Steven G. Johnson)
* H5Zzstd.jl - CodecZstd.jl
* H5Zlz4.jl - CodecLZ4.jl
* H5Zbzip2.jl - CodecBzip2.jl
* H5Zbitshuffle.jl

Future: Let's figure out how to share these with JLD2.jl!

---

# Chunking and Filter Plugin Usage

```julia
Expand All @@ -245,7 +247,7 @@ h5open("zstd_chunked.h5", "w", libver_bounds=v"1.12") do h5f
end
```

Future: Loading CodecZstd.jl will trigger a package extension
TODO: Use a package extension loading mechanism when CodecZstd.jl is present.

---

Expand Down Expand Up @@ -283,6 +285,12 @@ The `_by_idx` calls are easy to use via a simple `for` loop but are very ineffic

The `_iterate` calls require a C callback, `op`, and can be challenging to use but are efficient.

---

# New with HDF5 1.12.3 and 1.14.0: Efficient Chunk Based Iteration



---

# Multithreading
Expand All @@ -307,4 +315,3 @@ The `_iterate` calls require a C callback, `op`, and can be challenging to use b
* JLD2.jl, Julia Data Format 2, Pure Julia implementation of a subset of HDF5

---

0 comments on commit 7445103

Please sign in to comment.