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:
| [ 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 | |
| -- |
I hereby claim:
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 | |
| |__/ | |
| #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> |
| # -*- 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 |
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", |
| program exceptions | |
| implicit none | |
| integer :: s, stat_manual | |
| integer, status :: stat | |
| call mysum(5, s, stat_manual) | |
| if (stat_manual /= 0) error stop | |
| print *, s | |
| ! Equivalent to the above |
| program exceptions | |
| implicit none | |
| integer :: s, stat | |
| call mysum(5, s, stat) | |
| if (stat /= 0) error stop | |
| print *, s | |
| ! Equivalent to the above | |
| try mysum(5, s, stat) |
| program exceptions | |
| implicit none | |
| integer :: s, stat | |
| call mysum(5, s, stat) | |
| if (stat /= 0) error stop | |
| print *, s | |
| call mysum(5, s) | |
| print *, s |