Skip to content

Instantly share code, notes, and snippets.

View certik's full-sized avatar

Ondřej Čertík certik

View GitHub Profile
program exceptions
use iso_fortran_env, only: Out_of_memory
implicit none
integer :: s
block enable (Out_of_memory)
! Possible failure will be caught in the `handle` block
call mysum(5, s)
print *, s
end block
program exceptions
implicit none
integer :: s, stat
try
! Possible failure will be caught in the `catch default` block
call mysum(5, s)
catch default
error stop
end try
[ 0%] Built target intrinsics_gen
[ 90%] Built target LLVMEnzyme-8
[100%] Running enzyme regression tests
-- Testing: 139 tests, 8 threads --
PASS: Enzyme :: Enzyme/add.ll (1 of 139)
PASS: Enzyme :: Enzyme/addOneMem.ll (2 of 139)
PASS: Enzyme :: Enzyme/augmentconst.ll (3 of 139)
PASS: Enzyme :: Enzyme/badarg.ll (4 of 139)
PASS: Enzyme :: Enzyme/badcall.ll (5 of 139)
PASS: Enzyme :: Enzyme/badcall2.ll (6 of 139)
[ 0%] Built target intrinsics_gen
[ 90%] Built target LLVMEnzyme-6
[100%] Running enzyme regression tests
-- Testing: 139 tests, 8 threads --
FAIL: Enzyme :: Enzyme/allocacache.ll (1 of 139)
******************** TEST 'Enzyme :: Enzyme/allocacache.ll' FAILED ********************
Script:
--
/usr/lib/llvm-6.0/bin/opt < /home/ondrej/repos/Enzyme/enzyme/test/Enzyme/allocacache.ll -load=/home/ondrej/repos/Enzyme/enzyme/build/Enzyme/LLVMEnzyme-6.so -enzyme -enzyme_preopt=false -mem2reg -sroa -simplifycfg -instcombine -adce -S | FileCheck /home/ondrej/repos/Enzyme/enzyme/test/Enzyme/allocacache.ll
--

Keybase proof

I hereby claim:

  • I am certik on github.
  • I am certik (https://keybase.io/certik) on keybase.
  • I have a public key ASBUEfu4O4_mPskgJx7LFCL5MgvOGKaZkudxVgJ3E8mWago

To claim this, I am signing this object:

certik@pn1935394:~$ julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.2.0 (2019-08-20)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
@certik
certik / ast.h
Created September 16, 2019 06:01
#ifndef LFORTRAN_AST_H
#define LFORTRAN_AST_H
// Generated by grammar/asdl_cpp.py
#include <lfortran/parser/alloc.h>
#include <lfortran/parser/location.h>
#include <lfortran/casts.h>
#include <lfortran/colors.h>
#include <lfortran/exception.h>
This file has been truncated, but you can view the full file.
# -*- coding: utf-8 -*-
from sympy import *
from matchpy import *
from sympy.integrals.rubi.utility_function import *
from sympy.integrals.rubi.constraints import *
# from sympy.integrals.rubi.symbol import *
from matchpy.matching.many_to_one import CommutativeMatcher
from collections import deque
from matchpy.utils import VariableWithCount
@certik
certik / README.md
Last active August 7, 2019 17:03
std::move benchmark

Compile and run using:

$ g++ -Wall -O3 -march=native -funroll-loops bench.cpp move.cpp && ./a.out 
1
1705032704
4034ms
2
1705032704
3466ms
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# What is the difference between an AST and ASR?\n",
"\n",
"Let us take a simple Fortran code:\n",
"```fortran\n",