All Projects → cnuernber → dtype-next

cnuernber / dtype-next

Licence: other
A Clojure library designed to aid in the implementation of high performance algorithms and systems.

Programming Languages

clojure
4091 projects
java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to dtype-next

DCA
DCA++
Stars: ✭ 27 (-86.01%)
Mutual labels:  hpc
dbcsr
DBCSR: Distributed Block Compressed Sparse Row matrix library
Stars: ✭ 65 (-66.32%)
Mutual labels:  hpc
xdmod
An open framework for collecting and analyzing HPC metrics.
Stars: ✭ 55 (-71.5%)
Mutual labels:  hpc
cruise
User space POSIX-like file system in main memory
Stars: ✭ 27 (-86.01%)
Mutual labels:  hpc
omnia
An open-source toolkit for deploying and managing high performance clusters for HPC, AI, and data analytics workloads.
Stars: ✭ 128 (-33.68%)
Mutual labels:  hpc
HiSpatialCluster
Clustering spatial points with algorithm of Fast Search, high performace computing implements of CUDA or parallel in CPU, and runnable implements on python standalone or arcgis.
Stars: ✭ 31 (-83.94%)
Mutual labels:  hpc
pystella
A code generator for grid-based PDE solving on CPUs and GPUs
Stars: ✭ 18 (-90.67%)
Mutual labels:  hpc
allgebra
Base container for developing C++ and Fortran HPC applications
Stars: ✭ 14 (-92.75%)
Mutual labels:  hpc
harry-potter-quarkus
Showcases in a web application Quarkus and Infinispan
Stars: ✭ 16 (-91.71%)
Mutual labels:  graal-native
hybridCentralSolvers
United collection of hybrid Central solvers - one-phase, two-phase and multicomponent versions
Stars: ✭ 42 (-78.24%)
Mutual labels:  hpc
COBREXA.jl
Constraint-Based Reconstruction and EXascale Analysis
Stars: ✭ 21 (-89.12%)
Mutual labels:  hpc
yask
YASK--Yet Another Stencil Kit: a domain-specific language and framework to create high-performance stencil code for implementing finite-difference methods and similar applications.
Stars: ✭ 81 (-58.03%)
Mutual labels:  hpc
PartitionedArrays.jl
Vectors and sparse matrices partitioned into pieces for parallel distributed-memory computations.
Stars: ✭ 45 (-76.68%)
Mutual labels:  hpc
SHAD
Scalable High-performance Algorithms and Data-structures
Stars: ✭ 85 (-55.96%)
Mutual labels:  hpc
quarkus-performance
Comparing the CPU/Memory utilisation - Quarkus via GraalVM Native Image vs. Quarkus via Java Runtime vs. Payara-Micro via Java Runtime.
Stars: ✭ 49 (-74.61%)
Mutual labels:  graal-native
warewulf
Warewulf is a stateless and diskless container operating system provisioning system for large clusters of bare metal and/or virtual systems.
Stars: ✭ 90 (-53.37%)
Mutual labels:  hpc
launcher
A simple utility for executing multiple sequential or multi-threaded applications in a single multi-node batch job
Stars: ✭ 48 (-75.13%)
Mutual labels:  hpc
libmsr
Wrapper library for model-specific registers. APIs cover RAPL, performance counters, clocks and turbo.
Stars: ✭ 47 (-75.65%)
Mutual labels:  hpc
jupyterhub-deploy-hpc
Documented examples of Jupyterhub deployment in HPC settings
Stars: ✭ 30 (-84.46%)
Mutual labels:  hpc
wxparaver
wxParaver is a trace-based visualization and analysis tool designed to study quantitative detailed metrics and obtain qualitative knowledge of the performance of applications, libraries, processors and whole architectures.
Stars: ✭ 23 (-88.08%)
Mutual labels:  hpc

dtype-next

Next generation high performance Clojure toolkit.

Clojars Project

Build Status

Checkout The:

New Functionality

Description

dtype-next provides a unified pathway for dealing with contiguous containers of primitive datatypes such as ints and floats. In addition it defines the basis for array programming as found in APL or numpy and a deep Java interface hierarchy with default methods to allow implementing new arrays painless. This interface hierarchy integrates with Java Streams, Spliterators, and various members of the java.util.function package. In addition it extends these concepts to native-heap based containers.

There are namespaces to allow elementwise operations across scalars and arrays, highly optimized reductions across index spaces, and algorithms that operate in index space for use when multiple buffers share an index space.

This library forms the numeric basis that underlies the 'tech.ml.dataset' system. It also defines a language independent ABI which allows zerocopy to C-based systems such as numpy, OpenCV, Julia, TVM and neanderthal.

Additional targets of this library:

  • Small runtime footprint. This is harder than it looks but the main thing is that the system needs to produce the right answers with as little type specific code as necessary.
  • Full native memory support. Malloc, free, memset, memcpy. Just the basics but guaranteed to be available.
  • Graal Native support.
  • Support for JDK-8 through JDK-17+ - JDK-16 is no longer supported. For jdk-17 usage, please see project.clj for required flags.
  • Blogpost, example and involved example of using the FFI architecture across JNA, JDK-16 and GraalNative.

Native Test

  • In order to get mmap working on the native test I had to grab the larray .so from the uberjar and load it manually. Not a big issue at the end of the day but I was having problems getting graal native to package resources.

Use the scripts to get graal and compile test. The code is located under native-test; so far reader/writing/copying all work for native and jvm heap datasets. Tensors work.

Graal Native

License

Copyright © 2020 Chris Nuernberger

This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].