Skip to content

Releases: dmlc/treelite

Treelite 0.31

30 Mar 11:17
Compare
Choose a tag to compare
  • Implement a custom thread pool to improve prediction performance
    • Amortize thread launch cost
    • Pin down threads to physical cores and prevent migration
  • Accommodate infinite thresholds in LightGBM models

Treelite 0.30

24 Mar 06:00
Compare
Choose a tag to compare

Major re-factoring of the backend code

  • New code generator, based on Abstract Syntax Trees (AST)
    • Build AST first
    • Iteratively transform AST
    • Finally convert AST into C/JAVA program
  • Improved abstraction and modularity (no more spaghetti code!)
    • It's now much easier to "edit" tree prediction logic: you'd just need to operate on a tree graph. Re-factoring was a worthwhile investment for future research. For instance, we could create a new node type in AST representing an AVX operation. A group of conditional nodes can be converted into the AVX node with equivalent semantics.
  • Support for Java: see example at https://github.com/hcho3/treelite-java-example

BREAKING CHANGES

  • Prediction library generated by previous versions are NOT compatible with the current version. You will have to run export_lib() or compile() again.

Treelite 0.21

08 Mar 21:47
Compare
Choose a tag to compare

New features

  • Now categorical features with more than 64 categories are supported.
  • It is now possible to specify variants of GCC and Clang for export_lib: gcc-5, gcc-7, arm-linux-gnueabi-gcc, and so forth.

Bug fixes

  • Fix segmentation fault when parallel_comp is set to a high value

Treelite 0.2

12 Feb 17:58
Compare
Choose a tag to compare

A few minor fixes have been made since 0.1rc1 release.

Why 0.2 now? For some unknown reason, PyPI isn't letting me upload wheels for version 0.1, claiming that "files already exist."

Treelite 0.1 release candidate

16 Nov 01:01
Compare
Choose a tag to compare

We are pleased to announce the first release.