Skip to content

Instantly share code, notes, and snippets.

View cloudhan's full-sized avatar

cloudhan

  • 01:38 (UTC +08:00)
View GitHub Profile
@cloudhan
cloudhan / numerical_check.ipynb
Last active May 8, 2024 05:51
If `allclose` assertion fail, how can I tell whether it is the implementation error or the atol/rtol is too tight?
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
#!/bin/bash
CUDA_VERSION_STR=12-1
cat <<EOF | equivs-build - > /dev/null
Package: cuda-documentation-$CUDA_VERSION_STR
Version: 1000
Priority: optional
Section: multiverse/devel
Source: cuda-documentation
@cloudhan
cloudhan / build-jaxlib-rocm.sh
Last active October 10, 2023 05:39
Build jaxlib with AMD GPU ROCm support
#!/bin/bash
set -ex
branch_name=rocm-jaxlib-v0.4.16
jax_repo=https://github.com/ROCmSoftwarePlatform/jax.git
jax_branch=$branch_name
xla_repo=https://github.com/ROCmSoftwarePlatform/xla.git
@cloudhan
cloudhan / v1.cc
Last active May 15, 2022 13:15
Minimal sender/receiver implementation by Eric Niebler https://twitter.com/ericniebler/status/1525651424951947264
// copied from https://godbolt.org/z/r1jdTY4G8
/*
* Copyright 2022 NVIDIA Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@cloudhan
cloudhan / right_click_manu_win11.md
Created May 5, 2022 02:10
Open the full right-click menu by default on Win11

Enable

reg add    "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

Disable

reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non libero leo. Vivamus congue erat ut metus imperdiet commodo. Cras augue velit, volutpat in nunc at, pellentesque feugiat lacus. Mauris a sem nec nisl molestie semper. Proin euismod dui vel eleifend suscipit. Curabitur sit amet pellentesque velit, quis mollis arcu. Sed eget nunc et tortor pretium rhoncus sed at lectus. Vivamus pretium turpis sit amet efficitur eleifend. Morbi semper laoreet sodales. Nulla facilisi. Donec sit amet semper mauris.
Quisque tincidunt sed mauris pharetra vestibulum. Morbi vehicula ut eros quis sagittis. Suspendisse consequat hendrerit massa eget ultrices. Donec mauris sapien, bibendum pretium dignissim eu, scelerisque nec ex. Ut egestas pharetra mauris, nec commodo urna pretium at. Ut quis molestie dolor, in ullamcorper lectus. In in libero dolor.
Fusce pharetra, justo sed commodo sodales, arcu ipsum tempor lacus, ut mollis erat sapien et erat. Curabitur nec urna euismod, pretium magna sit amet, egestas libero. Vesti
#r "C:\Program Files\workspacer\workspacer.Shared.dll"
#r "C:\Program Files\workspacer\plugins\workspacer.Bar\workspacer.Bar.dll"
#r "C:\Program Files\workspacer\plugins\workspacer.ActionMenu\workspacer.ActionMenu.dll"
#r "C:\Program Files\workspacer\plugins\workspacer.FocusIndicator\workspacer.FocusIndicator.dll"
using System;
using workspacer;
using workspacer.Bar;
using workspacer.ActionMenu;
using workspacer.FocusIndicator;
@cloudhan
cloudhan / clean_process.py
Created November 25, 2020 06:20
create process that "ensure" cleaning sub-process
@contextlib.contextmanager
def clean_process(*args, **kwargs):
def kill_proc_tree(pid, sig=signal.SIGTERM, include_parent=True, timeout=None, on_terminate=None):
assert pid != os.getpid(), "won't kill myself"
try:
parent = psutil.Process(pid)
except psutil.NoSuchProcess:
return
@cloudhan
cloudhan / build.sh
Last active September 12, 2020 14:07
semi-auto port deb package from one distro to another.
#!/bin/bash
EMAIL=noreply@github.com
if [[ -z "$2" ]]
then
PPA_NUM="1"
else
PPA_NUM="$2"
fi
@cloudhan
cloudhan / dynamic_mixin.py
Created September 8, 2020 03:04
dynamic mixin
def extend_instance(obj, cls):
"""Apply mixins to a class instance after creation"""
base_cls = obj.__class__
base_cls_name = obj.__class__.__name__
obj.__class__ = type(base_cls_name, (cls, base_cls), {})