Super Computing: HPC, Distributed Computing, Cloud computing, Cluster computing, Grid computing, Parallel computing, Hardware arch (ARM, CUDA, GPU, MIPS), Kernels, Compilers (source-to-source compiler, transcompiler/ transpilers)
- Microbenchmark timings
- Benchmark.jl :: A package for computing simple benchmarks, comparing functions and packages.
- Benchmarks.jl : A new benchmarking library for Julia.
- BenchmarkLite.jl :: A lightweight Julia package for simple performance benchmark.
- ConicBenchmarkUtilities.jl :: Julia utilities for the conic benchmark format.
- Criterion.jl :: A port of the Haskell's Criterion and Clojure's Criterium library to Julia, that runs benchmarks, analyzing the results using various statistical techniques.
- DataBench.jl :: A package to benchmark data manipulation in Julia vs
R data.table
. - IProfile :: Preferably, use IProfile in Base packages to profile your code, which contains an instrumenting profiler for the Julia language. And, ReadTheDocs
- julia_qsortbenchmarks :: Suggested improvements to Julia's Quicksort implementation.
- JuliaBenchmarks :: Porting HPC Challenge benchmarks to Julia.
- PerfPlot.jl :: Performance Profile Plot.
- Perftests.jl :: Base perftests for Julia.
- raytracer.jl :: Raytracer in the Julia kernel and other raytracer packages.
- SimplexBenchmarks :: Benchmarks comparing individual operations of the Simplex method for linear programming in Julia and other languages. Uses modified version of jlSimplex to generate data from real instances.
- SortPerf.jl :: Julia module to test the performance of sorting algorithms.
- SchumakerSpline.jl :: A Julia package to create a shape preserving spline that quickly and smoothly converges to a fixed point in economic dynamics problems including value function iteration.
- Clang.jl :: Julia interface to libclang and C wrapper generator and its fork CIndex.jl to access the libclang interface of the LLVM Clang compiler.
- CompilerTools.jl :: The CompilerTools package, part of the High Performance Scripting project at Intel Labs.
- CompilerOptions.jl :: A Julia package for reading compiler options.
- Eglib.jl :: Clang.jl wrapping example, C code from @kindlmann.
- JITTools.jl :: Tools for working with in-memory object.
- julia-icc-travis :: Build Julia using icc on the Travis CI.
- LLVM.jl :: A Julia package for LLVM.
- llvm-cbe :: A resurrected LLVM C Backend, with improvements for Julia.
- ParallelAccelerator.jl :: The ParallelAccelerator package, part of the High Performance Scripting project at Intel Labs.
- Precompile.jl :: Precompilation in Julia base, and its documentation
- SnoopCompile.jl :: Make your packages work faster with more extensive precompilation - Spy on the JIT-compiler and learn which functions & types it's compiling.
- Julia2C :: A source-to-source translator from Julia to C. This initial version converts basic Julia types and expressions into the corresponding C types and statements.
- IACA.jl :: A wrapper around intel's arch code analyzer for Julia.
- CPUTime.jl :: Amodule for CPU timing.
- USERTime.jl :: A Julia package for measuring elapsed user time.
- Actors.jl :: An Actor Model implementation in Julia.
- RawMutex.jl :: A __MUT__ual __EX__clusion program object in Julia that allows multiple program threads to share the same resource, such as file access, but not simultaneously.
- AWS.jl :: supports the EC2 and S3 API's, letting you start and stop EC2 instances dynamically.
- AWSCore.jl :: Amazon Web Services Core Functions and Types.
- AWSS3.jl :: AWS S3 Simple Storage Service interface for Julia.
- OCAWS.jl :: An AWS library.
- CloudArray.jl :: Easy big data programming in the cloud.
- GCloud.jl :: Tools for working with Google Compute engine via the cloud CLI.
- GoogleCloud.jl :: Google Cloud package based on JSON API. Currently only support Google Cloud Storage. Require julia v0.5.
- ClusterDicts.jl :: Global and Distributed dictionaries for Julia.
- HavenOnDemand.jl :: Julia package to access HPE Haven OnDemand API.
- HPAT.jl :: High Performance Analytics Toolkit (HPAT) is a Julia-based framework for big data analytics on clusters.
- MatlabCluster.jl :: Julia cluster manager for Matlab Job Scheduler.
- SGEArrays.jl :: SGEArray implements a simple iterator in Julia to efficiently handle Sun Grid Engine task arrays.
- ChainedVectors.jl :: Few utility types over Julia Vector type.
- ClusterDicts.jl :: Global and Distributed dictionaries for Julia.
- Flume.jl :: A port of the Google Flume Data-Parallel Pipeline system.
- FunHPC.jl :: Functional High-Performance Computing - A high-level API for distributed computing, implemented on top of MPI. Also on Bitbucket.
- HavenOnDemand.jl :: Julia package to access HPE Haven OnDemand API.
- HPAT.jl :: High Performance Analytics Toolkit (HPAT) is a Julia-based framework for big data analytics on clusters.
- ParallelGLM.jl :: Parallel fitting of GLMs using SharedArrays.
- PTools.jl :: A collection of utilities for parallel computing in Julia.
- SGEArrays.jl :: SGEArray implements a simple iterator in Julia to efficiently handle Sun Grid Engine task arrays.
- IBFS.jl :: Grid simulation solver.
- Dtree.jl :: Julia wrapper for a distributed dynamic scheduler for HPC applications.
- FunHPC.jl :: Functional High-Performance Computing - A high-level API for distributed computing, implemented on top of MPI. Also on Bitbucket.
- hpcc.jl :: Implementation of the HPC Challenge kernels in Julia.
- CUDAnative.jl :: Support for compiling and executing native Julia kernels on CUDA hardware.
- Blog post on High-Performance GPU Computing in the Julia Programming Language.
- ClusterManagers.jl :: Support for different clustering technologies.
- Collectl.jl :: Plotting information from Collectl in julia.
- LCJC.jl :: Loosely Coupled Julia Clusters.
- Persist.jl :: The package Persist allows running jobs independent of the Julia shell.
- Schedulers.jl :: It provides elastic and fault tolerant parallel map and parallel map reduce methods. The primary feature that distinguishes Schedulers parallel map method from Julia's
Distributed.pmap
is elasticity where the cluster is permitted to dynamically grow/shrink. - SimJulia.jl :: A combined continuous time / discrete event process oriented simulation framework written in Julia inspired by the Simula library DISCO and the Python library SimPy.
- ArrayFire.jl by @hshindo :: Julia bindings for ArrayFire.
- ArrayFire.jl by @JuliaComputing :: Julia Wrapper for the ArrayFire library.
- Blocks.jl :: A framework to represent chunks of entities and parallel methods on them.
- ClusterManagers.jl :: Support for different clustering technologies.
- Dagger.jl :: A framework for out-of-core and parallel computation and hierarchical Scheduling of DAG Structured Computations.
- Dispatcher.jl :: A framework for out-of-core and parallel computation and hierarchical Scheduling of DAG Structured Computations.
- DispatcherCache.jl :: Tool for building and executing a computation graph given a series of dependent operations.
- DistributedArrays.jl :: A task persistency mechanism based on hash-graphs for Dispatcher.jl.
- Elly.jl :: Hadoop HDFS and Yarn client.
- FLoops.jl:: provides a macro @floop. It can be used to generate a fast generic iteration over complex collections.
- Flume.jl :: A port of the Google Flume Data-Parallel Pipeline system.
- HDFS.jl :: An interface wrapper over the Hadoop HDFS library that wraps the HDFS C library libhdfs and provides APIs similar to Julia Filesystem APIs which can be used for direct access to HDFS files.
- Heptapus.jl :: The roofline function is a translation of the roofline code from https://github.com/paranumal/libparanumal/.
- hwloc.jl :: The Portable Hardware Locality (hwloc) package wraps the hwloc library to provide a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading.
- MessageUtils.jl :: A collection of utilities for messaging.
- MPI.jl :: A basic Julia wrapper for the portable message passing system Message Passing Interface (MPI).
- JuliaMPIMonteCarlo :: Illustrative examples using Julia and MPI to do Markov Chain Monte Carlo (MCMC) methods.
- MT-Workloads :: Multi-threaded workloads in Julia.
- ParallelAccelerator.jl :: The ParallelAccelerator package, part of the High Performance Scripting project at Intel Labs.
- ParallelGLM.jl :: Parallel fitting of GLMs using SharedArrays.
- PTools.jl :: A collection of utilities for parallel computing in Julia.
- ScaLAPACK.jl :: Scalable Linear Algebra PACKage.
- Slurm.jl :: Experimental Julia interface to
slurm.schedmd.com
.
- MPIArrays.jl :: Distributed arrays based on MPI onesided communication.
- SIMD.jl :: Explicit SIMD vector operations for Julia.
- SIMDPirates.jl :: A library for SIMD intrinsics. The code was stolen from SIMD.jl, whose authors and maintainers deserve credit for most of the good work here. Aside from pirating code, SIMDPirates also provides an @pirate macro that lets you imagine you're committing type piracy
- SIMDVectors.jl :: An experimental package that uses the PR #15244 to create a stack allocated fixed size vector which supports SIMD operations and very similar in spirit to the SIMD.jl package.
- Yeppp.jl :: A low level, high performance library for vectorized operations, elementwise operation on arrays, supports the x86(-64), ARM and MIPS architectures, and takes advantage of a lot of SIMD extensions (from SSE to AVX2 on x86, NEON on ARM). The New BSD(3-clause BSD)-licensed source code is hosted on Bitbucket.
- JuliaCon2015_Workshop :: Notebooks from the JuliaCon2015 Workshop.
- Parallel Computing
- How to use AWS EC2 machines via addprocs for parallel computing.
- Parallel and Distributed Computing with Julia by Marc Moreno Maza, for CS2101 at the University of Western Ontario, London, Ontario (Canada). Updated October 16, 2014.
- GPU-benchmarking :: GPU benchmarking on Julia.
- MXNet.jl :: The dmlc/mxnet Julia package that brings flexible and efficient GPU computing and state-of-art deep learning to Julia.
- Titan.jl :: Write GPU kernels using pure Julia.
- CLBLAS.jl :: CLBLAS integration for Julia.
- CUBLAS.jl :: Julia interface to CUBLAS.
- CuCountMap.jl :: Fast
StatsBase.countmap
for small types on the GPU via CUDA.jl - CUDA.jl :: This package wraps key functions in CUDA Driver API.
- CUDArt.jl :: Wrapper for CUDA runtime API.
- CUDNN.jl :: Julia wrapper for the NVIDIA cuDNN GPU deep learning library.
- CURAND.jl : Wrapper for NVidia's cuRAND library.
- CVortex.jl :: Julia wrapper for GPU accelerated vortex filament and vortex particle methods.
- FoldsCUDA.jl:: provides Transducers.jl-compatible fold (reduce) implemented using CUDA.jl. This brings the transducers and reducing function combinators implemented in Transducers.jl to GPU. Furthermore, using FLoops.jl, you can write parallel for loops that run on GPU.
- HSA.jl :: Julia Bindings for the HSA Runtime.
- julia-CuMatrix :: CUDA Matrix library.
- julia-kernels :: A small suite of tools aimed at being able to write kernels in Julia, which could be executed on the CPU, or as GPU kernels.
- MXNet.jl :: The dmlc/mxnet Julia package for flexible and efficient GPU computing and state-of-art deep learning in Julia.
- OpenCL.jl :: OpenCL 1.2 Julia bindings - a cross platform parallel computation API for programming parallel devices, with implementations from AMD, Nvidia, Intel, and others, similar in scope to PyOpenCL.
- UberSignals.jl :: Concept for a fast event signal system, using JIT and GPU acceleration, loosely inspired by Reactive.jl.
- Build Julia on ARMv7 / Cortex A15 Samsung Chromebooks running Ubuntu Linux under Crouton.
- Bug status of the Julia port to ARM and the Debian build log.
- Julia binaries for ARM built on Ubuntu-14.04.
- Blog post on Compiling Julia for NVIDIA GPUs
- Sample notebooks for: GPU Julia, and GPU Transpose.
- Parallel Prefix Polymorphism Permits Parallelization, Presentation & Proof :: A short paper about parallel prefix.