This is pretty out of date now... you may want to look elsewhere
Newer guides than mine (mine is a bit dated and has a lot of rough edges):
Have you looked at these?
| Latency Comparison Numbers (~2012) | |
| ---------------------------------- | |
| L1 cache reference 0.5 ns | |
| Branch mispredict 5 ns | |
| L2 cache reference 7 ns 14x L1 cache | |
| Mutex lock/unlock 25 ns | |
| Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
| Compress 1K bytes with Zippy 3,000 ns 3 us | |
| Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
| Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
| __RelaySelect_Automatic=1 | |
| _BESClient_Resource_StartupNormalSpeed=1 | |
| _BESClient_Download_RetryMinutes=1 | |
| _BESClient_Download_CheckAvailabilitySeconds=120 | |
| _BESClient_Resource_WorkIdle=20 | |
| _BESClient_Resource_SleepIdle=500 | |
| _BESClient_PowerHistory_EnablePowerHistory=1 | |
| _BESClient_Comm_WakeOnLanForwardingEnable=1 | |
| _BESClient_Comm_CommandPollEnable=1 | |
| _BESClient_Comm_CommandPollIntervalSeconds=7200 |
This is pretty out of date now... you may want to look elsewhere
Newer guides than mine (mine is a bit dated and has a lot of rough edges):
Have you looked at these?
| #!/bin/bash | |
| # Install dependencies for creating filesystem and installing bootloader | |
| ## This script is mostly system-independent, except for this part. Replace yaourt and the args with your own package manager | |
| yaourt -S --noconfirm mtools syslinux dosfstools | |
| # Plug in the flash drive, and find its device. Don't mount it. | |
| lsblk | |
| while [[ $(echo $FLASHDEV | grep -c \/dev\/sd[a-z]) -lt 1 && -b "$FLASHDEV" ]] ; do | |
| read -p 'Which device (e.g. /dev/sdf)? ' FLASHDEV |
These are my notes on instaling NixOS 16.03 on a Lenovo ThinkPad X1 Carbon (4th generation) with an encrypted root file system using UEFI.
Most of this is scrambled from the following pages:
| [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("SecretMessage")) | |
| [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("U2VjcmV0TWVzc2FnZQ==")) |
You might find the full PCB image helpful. Ignore the red boxes!
This is a short post that explains how to write a high-performance matrix multiplication program on modern processors. In this tutorial I will use a single core of the Skylake-client CPU with AVX2, but the principles in this post also apply to other processors with different instruction sets (such as AVX512).
Matrix multiplication is a mathematical operation that defines the product of
| # based off of this code https://gist.github.com/nandajavarma/a3a6b62f34e74ec4c31674934327bbd3 | |
| # Brandon Skerritt | |
| # https://skerritt.tech | |
| def binary_search(the_array, item, start, end): | |
| if start == end: | |
| if the_array[start] > item: | |
| return start | |
| else: | |
| return start + 1 |
This guide was adapted from https://gist.github.com/niw/e4313b9c14e968764a52375da41b4278#running-ubuntu-server-for-arm64