Skip to content

Instantly share code, notes, and snippets.

View scivision's full-sized avatar
💭
I will be slow to respond.

scivision

💭
I will be slow to respond.
View GitHub Profile
@scivision
scivision / vitter.c
Created August 28, 2025 22:15
Vitter algorithm
//Copyright Kevin Lawler, released under ISC License
// https://getkerf.wordpress.com/2016/03/30/the-best-algorithm-no-one-knows-about/
double random_double() //your random double function
{
//[0,1) uniformly random double, mt19937-64.c source is fine
//keep in mind most double-based implementations drop randomness to 52-bits
return genrand64_real2();
}
@scivision
scivision / readme.md
Created August 27, 2025 16:34
Discussion on parallelization (threads) using Performance cores vs. Efficiency cores

This becomes an issues with MPI workers with synchronized parallelism. There are "14 core" laptops with two P-cores and 12 E-cores. I have seen project teams that configure their programs (say via enviornment variables) to only use the P-cores, but this can lead to a performance drop vs. their much older all P-core computer.

fastbuild/fastbuild#995

@scivision
scivision / captive_portal.py
Last active August 18, 2025 14:08
Python requests to test if captive portal is grabbing connection
#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.9"
# dependencies = ["requests"]
# ///
from __future__ import annotations
import requests
@scivision
scivision / Readme.md
Created August 13, 2025 14:21
GNU Octave Java JDK notes

Configure GNU Octave JVM

GNU Octave JVM can be configured with the JAVA_HOME environment variable. Some install packages don't include Java.

For example, with Homebrew:

@scivision
scivision / Readme.md
Created August 11, 2025 16:04
SSH into GitHub Actions CI run

GitHub Action to SSH into CI run

Just signal boosting this Action action-tmate that allows SSHing into a remote GitHub Actions server to help debug.

@scivision
scivision / linux-gcc-11.3.txt
Last active August 11, 2025 02:37
benchmarks from Lemire 2025/08/08 blog
1: | Input Size (bytes) | std::find (GB/s) | simdutf::find (GB/s) | naive_find (GB/s) |
1: |--------------------|------------------|-----------------------|-------------------|
1: | 1024 | 4.56 | 26.21 | 2.74 |
1: | 8192 | 4.61 | 59.72 | 2.70 |
1: | 65536 | 4.75 | 54.45 | 2.68 |
1: | 524288 | 4.77 | 55.61 | 2.69 |
1: | 2097152 | 4.78 | 26.14 | 2.69 |
1/2 Test #1: BenchmarkNative .................. Passed 37.91 sec
2: | Input Size (bytes) | std::find (GB/s) | simdutf::find (GB/s) | naive_find (GB/s) |
@scivision
scivision / CMakeLists.txt
Last active August 11, 2025 03:22
C++ can print compiler flags used for the source file
cmake_minimum_required(VERSION 3.19)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
endif()
project(CppCompilerOptions LANGUAGES CXX)
set(CMAKE_EXPORT_COMPILE_COMMANDS true)
@scivision
scivision / LICENSE
Last active August 8, 2025 20:23
CMake file system inquiry functions
The MIT License (MIT)
Copyright © 2025 SciVision
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWA
@scivision
scivision / FindScotch.cmake
Created August 8, 2025 04:07
CMake FindScotch.cmake
###
#
# @copyright (c) 2009-2014 The University of Tennessee and The University
# of Tennessee Research Foundation.
# All rights reserved.
# @copyright (c) 2012-2014 Inria. All rights reserved.
# @copyright (c) 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
#
###
#
@scivision
scivision / FindMETIS.cmake
Created August 8, 2025 03:54
CMake FindMETIS.cmake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#[=======================================================================[.rst:
FindMETIS
-------
Finds the METIS library.
NOTE: If libparmetis used, libmetis must also be linked.