Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details.
You've got two main options:
const std = @import("std"); | |
// Can also try: | |
// 8 x 64 | |
// 16 x 64 | |
// Top GFLOPs/s on an Intel® Core™ i7-13620H Processor = 300.9 GFLOPs/s | |
// Comments were added using Claude. | |
// To run simply run zig build-exe -O ReleaseFast matmul_FP32.zig, then run the binary ./matmul_FP32 | |
// To test simply run zig test -O ReleaseFast matmul_FP32.zig | |
// To test performance on a generated binary, run : sudo perf stat -e cache-misses,cache-references,instructions,cycles ./matmul_FP32 |
// compile with g++ -o bisect.cxx poly.o -I<path/to/boost> | |
#include <cmath> | |
#include <iostream> | |
#include <boost/math/tools/roots.hpp> | |
// Functor providing termination condition | |
// Determines convergence in x based on if the relative or absolute tolerance are satisfied | |
template<class T> |
\#!/bin/bash | |
whatscr() { echo "gccprefab - Wil's GCC easy build script"; } | |
whenscr() { echo "Last updated: Jun 11, 2022 (WYP)"; } | |
usage() { echo "Usage: $0 [options] configfile"; } | |
helptext() { | |
echo "Available options:" | |
echo " -h, --help Display this help text" |
# IDA (disassembler) and Hex-Rays (decompiler) plugin for Apple AMX | |
# | |
# WIP research. (This was edited to add more info after someone posted it to | |
# Hacker News. Click "Revisions" to see full changes.) | |
# | |
# Copyright (c) 2020 dougallj | |
# Based on Python port of VMX intrinsics plugin: | |
# Copyright (c) 2019 w4kfu - Synacktiv |
There are two schools how to write numerical code, which in this document we will call the IEEE school and the Fortran school.
One end of the spectrum: no changes in floating point by the compiler, the developer must express exact intent. This is the IEEE school.
On the other end of the spectrum: Developer specifies math, the compiler is
/* Allocate aligned memory in a portable way. | |
* | |
* Memory allocated with aligned alloc *MUST* be freed using aligned_free. | |
* | |
* @param alignment The number of bytes to which memory must be aligned. This | |
* value *must* be <= 255. | |
* @param bytes The number of bytes to allocate. | |
* @param zero If true, the returned memory will be zeroed. If false, the | |
* contents of the returned memory are undefined. | |
* @returns A pointer to `size` bytes of memory, aligned to an `alignment`-byte |
# make sure to replace `<hash>` with your gist's hash
git clone https://gist.github.com/<hash>.git # with https
git clone [email protected]:<hash>.git # or with ssh