All Projects → sslotin → amh-code

sslotin / amh-code

Licence: other
Complete implementations from "Algorithms for Modern Hardware"

Programming Languages

Jupyter Notebook
11667 projects
C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
assembly
5116 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to amh-code

Cpp-Data-Structures
📐 C++ Implementations of data structures & algorithms from PSU course CS162/CS163
Stars: ✭ 19 (-92.31%)
Mutual labels:  computer-science
My NoteBook
サイエンス、テクノロジー、エンジニアリング関連の情報を記載したノート(忘備録)です。
Stars: ✭ 104 (-57.89%)
Mutual labels:  computer-science
learning-computer-science
Learning data structures, algorithms, machine learning and various computer science constructs by programming practice from resources around the web.
Stars: ✭ 28 (-88.66%)
Mutual labels:  computer-science
float
Single precision (float) matrices for R.
Stars: ✭ 41 (-83.4%)
Mutual labels:  hpc
Algorithms
Data Structures & Algorithms. Includes solutions for Cracking the Coding Interview 6th Edition
Stars: ✭ 89 (-63.97%)
Mutual labels:  computer-science
resources
Learning resources to develop skills across the frontend and related areas. PR's are welcome!
Stars: ✭ 12 (-95.14%)
Mutual labels:  computer-science
pbdML
No description or website provided.
Stars: ✭ 13 (-94.74%)
Mutual labels:  hpc
alchemy
Generate any a-by-( b + c ) finite rectangle SVG containing potentially Infinitely many a-by-( 2 * b ) finite rectangles animated along a number line of ( ( c - b ) / a )^n scale symmetry.
Stars: ✭ 29 (-88.26%)
Mutual labels:  computer-science
libquo
Dynamic execution environments for coupled, thread-heterogeneous MPI+X applications
Stars: ✭ 21 (-91.5%)
Mutual labels:  hpc
tacc stats
TACC Stats is an automated resource-usage monitoring and analysis package.
Stars: ✭ 36 (-85.43%)
Mutual labels:  hpc
matematicaelementar
Matemática Elementar para Computação
Stars: ✭ 29 (-88.26%)
Mutual labels:  computer-science
easybuild-easyblocks
Collection of easyblocks that implement support for building and installing software with EasyBuild.
Stars: ✭ 83 (-66.4%)
Mutual labels:  hpc
js-algorithms
Computer science
Stars: ✭ 64 (-74.09%)
Mutual labels:  computer-science
cs-sakaryauniversity
Sakarya Üniversitesi'nde okuduğum süre boyunca karşıma çıkan tüm ödevler, ders notları ve çıkmış sınav soruları (All the assignments, lecture notes and exams)
Stars: ✭ 133 (-46.15%)
Mutual labels:  computer-science
ios-developer-roadmap
Roadmap for IOS Developers
Stars: ✭ 17 (-93.12%)
Mutual labels:  computer-science
ACCL
Accelerated Collective Communication Library: MPI-like communication operations for Xilinx Alveo accelerators
Stars: ✭ 28 (-88.66%)
Mutual labels:  hpc
ClassicComputerScienceProblemsInJava
Source Code for the Book Classic Computer Science Problems in Java
Stars: ✭ 95 (-61.54%)
Mutual labels:  computer-science
reframe
A powerful Python framework for writing and running portable regression tests and benchmarks for HPC systems.
Stars: ✭ 154 (-37.65%)
Mutual labels:  hpc
Tasks
Tasks is an application that optimizes computer performance. Tasks improves overall system performance, boot times, and a safer experience while using your computer.
Stars: ✭ 65 (-73.68%)
Mutual labels:  computer-science
Data-Structures-and-Algorithms
📝 Algorithms and data structures implemented in C++
Stars: ✭ 171 (-30.77%)
Mutual labels:  computer-science

Algorithms for Modern Hardware

This repository contains full examples and other associated code from https://en.algorithmica.org/hpc

The book is still unfinished, and my writing process is very slow and non-sequential — sometimes the "idea → code → benchmarks → article" pipeline may take 6 months or even more — so in this repository you can get a preview on a lot of interesting things that I haven't yet properly written up and published.

Things that have improved on the state-of-the-art:

Things that match current state-of-the-art:

Various benchmarks:

At the implementation stage:

  • Ordered Trees (apply the same technique as with binary searching, but with dynamically-allocated B-tree nodes)
  • Range minimum queries (both static and dynamic)
  • Filters (Bloom, cuckoo, xor, theoretical minimum)
  • Dot product / logistic regression (newton's method, SIMD, quantization)
  • Prime number sieves (blocking plus wheel)
  • Sorting (speeding up quicksort and mergesort with SIMD and radix sort)
  • Writing series of integers (SIMD + fast mod-10)
  • Bitmaps (blocking, SIMD)

At the idea stage:

  • String searching (SIMD-based strstr and rolling hashing)
  • Using SIMD to speed up Pollard's algorithm (naive sqrt-parallelization)
  • SIMD-based random number generation and hashing
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].