Friday, October 12, 2018

GraalVM

"GraalVM is a universal virtual machine for running applications written in JavaScript, Python 3, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++.

GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js, Oracle Database, or MySQL"

http://www.graalvm.org/

https://medium.com/graalvm/graalvm-ten-things-12d9111f307d

FastR

"FastR is an implementation of the R Language in Java atop Truffle, a framework for building self-optimizing AST interpreters.

FastR is a GraalVM based implementation of the R language that provides significant improvements in the performance of R code, the embedding of the R execution engine into Java applications, and the ability to interface with other GraalVM and JVM languages including Python, Java, and Scala. FastR is also able to utilize the tooling support provided by the GraalVM ecosystem.

https://github.com/oracle/fastr

https://medium.com/graalvm/faster-r-with-fastr-4b8db0e0dceb

WeasyPrint

"WeasyPrint is a visual rendering engine for HTML and CSS that can export to PDF. It aims to support web standards for printing. WeasyPrint is free software made available under a BSD license.

It is based on various libraries but not on a full rendering engine like WebKit or Gecko. The CSS layout engine is written in Python, designed for pagination, and meant to be easy to hack on."

https://github.com/Kozea/WeasyPrint

percollate

"Percollate is a command-line tool to turn web pages as beautifully formatted PDFs."

https://github.com/danburzo/percollate

libgdf

"libGDF is a C library for implementing common functionality for a GPU Data Frame. The goal is to agree on a standard way for libraries and applications to exchange tabular data directly on the GPU, avoiding architectural bottleneck of having to move data off the GPU just to pass it to another library.

https://github.com/rapidsai/libgdf

GPU Data Frame

"The basic approach for the GPU Data Frame (GDF) is pretty simple: if applications and libraries agree on an in-memory data format for tabular data and associate metadata, then just a device pointer to the data structure need be exchanged. Additionally, the IPC mechanism built into the CUDA driver allows device pointers to be moved between processes.

 The GDF uses the Apache Arrow columnar format to represent data on the GPU. Some Arrow features are not yet supported."

http://gpuopenanalytics.com/#/

https://www.omnisci.com/blog/end-to-end-on-the-gpu-with-the-gpu-data-frame-gdf

https://www.anaconda.com/blog/developer-blog/bringing-dataframe-acceleration-gpu-rapids-project/

https://docs.anaconda.com/anaconda/user-guide/tasks/gpu-packages/

dask_gdf

"A partitioned gpu-backed dataframe, using dask."

https://github.com/gpuopenanalytics/dask_gdf

pygdf

"PyGDF implements the Python interface to access and manipulate the GPU DataFrame of GPU Open Analytics Initiative (GoAi). We aim to provide a simple interface that is similar to the Pandas DataFrame and hide the details of GPU programming."

Read more about GoAi and the GDF

https://github.com/rapidsai/pygdf