From 5cf8abc9b0dc67ab2c11ce41fa2675a399a83da0 Mon Sep 17 00:00:00 2001 From: EmilyBoune Date: Sat, 7 Jan 2023 16:36:46 +0100 Subject: [PATCH 1/7] Remove fast-math flag --- .github/actions/generate_pyccel_config/action.yml | 4 ++-- benchmarks/pythran.config | 2 +- benchmarks/tests/numba_ackermann_mod.py | 2 +- benchmarks/tests/numba_bellman_ford_mod.py | 4 ++-- benchmarks/tests/numba_dijkstra.py | 10 +++++----- benchmarks/tests/numba_euler_mod.py | 8 ++++---- benchmarks/tests/numba_laplace_2d_mod.py | 2 +- benchmarks/tests/numba_linearconv_1d_mod.py | 2 +- benchmarks/tests/numba_md_mod.py | 12 ++++++------ benchmarks/tests/numba_midpoint_explicit_mod.py | 8 ++++---- benchmarks/tests/numba_midpoint_fixed_mod.py | 8 ++++---- benchmarks/tests/numba_nonlinearconv_1d_mod.py | 2 +- benchmarks/tests/numba_poisson_2d_mod.py | 2 +- benchmarks/tests/numba_rk4_mod.py | 8 ++++---- 14 files changed, 37 insertions(+), 37 deletions(-) diff --git a/.github/actions/generate_pyccel_config/action.yml b/.github/actions/generate_pyccel_config/action.yml index 33ae76dc..fba47e02 100644 --- a/.github/actions/generate_pyccel_config/action.yml +++ b/.github/actions/generate_pyccel_config/action.yml @@ -13,11 +13,11 @@ runs: run: | import json config = json.load(open('pyccel_fortran.json')) - config['general_flags'].extend(['-O3', '-march=native', '-mtune=native', '-mavx', '-ffast-math']) + config['general_flags'].extend(['-O3', '-march=native', '-mtune=native', '-mavx']) print(json.dumps(config, indent=4), file=open('pyccel_fortran.json','w')) config = json.load(open('pyccel_c.json')) - config['general_flags'].extend(['-O3', '-march=native', '-mtune=native', '-mavx', '-ffast-math']) + config['general_flags'].extend(['-O3', '-march=native', '-mtune=native', '-mavx']) print(json.dumps(config, indent=4), file=open('pyccel_c.json','w')) shell: python diff --git a/benchmarks/pythran.config b/benchmarks/pythran.config index d5cb0e46..137958eb 100644 --- a/benchmarks/pythran.config +++ b/benchmarks/pythran.config @@ -4,7 +4,7 @@ undefs= include_dirs= libs= library_dirs= -cflags=-std=c++11 -fno-math-errno -fvisibility=hidden -fno-wrapv -Wno-unused-function -Wno-int-in-bool-context -Wno-unknown-warning-option -O3 -march=native -mtune=native -mavx -ffast-math +cflags=-std=c++11 -fno-math-errno -fvisibility=hidden -fno-wrapv -Wno-unused-function -Wno-int-in-bool-context -Wno-unknown-warning-option -O3 -march=native -mtune=native -mavx ldflags=-fvisibility=hidden -Wl,-strip-all blas=blas CC= diff --git a/benchmarks/tests/numba_ackermann_mod.py b/benchmarks/tests/numba_ackermann_mod.py index f5117b59..be3361c4 100644 --- a/benchmarks/tests/numba_ackermann_mod.py +++ b/benchmarks/tests/numba_ackermann_mod.py @@ -7,7 +7,7 @@ """ from numba import njit -@njit(fastmath=True) +@njit def ackermann(m : int, n : int) -> int: """ Total computable function that is not primitive recursive. This function is useful for testing recursion diff --git a/benchmarks/tests/numba_bellman_ford_mod.py b/benchmarks/tests/numba_bellman_ford_mod.py index 3e5bf7a0..4aad03cc 100644 --- a/benchmarks/tests/numba_bellman_ford_mod.py +++ b/benchmarks/tests/numba_bellman_ford_mod.py @@ -9,7 +9,7 @@ from numpy import zeros from numba import njit -@njit(fastmath=True) +@njit # ================================================================ def bellman_ford ( v_num: int, e_num: int, source: int, e: 'int[:,:]', e_weight: 'real[:]', v_weight: 'real[:]', predecessor: 'int[:]' ): @@ -49,7 +49,7 @@ def bellman_ford ( v_num: int, e_num: int, source: int, e: 'int[:,:]', e_weight: return 0 # ================================================================ -@njit(fastmath=True) +@njit def bellman_ford_test ( ): """ Test bellman ford's algorithm """ diff --git a/benchmarks/tests/numba_dijkstra.py b/benchmarks/tests/numba_dijkstra.py index 0280cdce..d95285b2 100644 --- a/benchmarks/tests/numba_dijkstra.py +++ b/benchmarks/tests/numba_dijkstra.py @@ -9,7 +9,7 @@ from numpy import zeros # ================================================================ -@njit(fastmath=True) +@njit def find_nearest ( nv: int, mind: 'int[:]', connected: 'bool[:]' ): """ Find the nearest node """ @@ -26,7 +26,7 @@ def find_nearest ( nv: int, mind: 'int[:]', connected: 'bool[:]' ): return d, v # ================================================================ -@njit(fastmath=True) +@njit def update_mind ( nv: int, mv: int, connected: 'bool[:]', ohd: 'int[:,:]', mind: 'int[:]' ): """ Update the minimum distance """ @@ -39,7 +39,7 @@ def update_mind ( nv: int, mv: int, connected: 'bool[:]', ohd: 'int[:,:]', mind: mind[i] = min ( mind[i], mind[mv] + ohd[mv,i] ) # ================================================================ -@njit(fastmath=True) +@njit def dijkstra_distance ( nv: int, ohd: 'int[:,:]', mind: 'int[:]' ): """ Find the shortest paths between nodes in a graph """ @@ -76,7 +76,7 @@ def dijkstra_distance ( nv: int, ohd: 'int[:,:]', mind: 'int[:]' ): update_mind ( nv, mv, connected, ohd, mind ) # ================================================================ -@njit(fastmath=True) +@njit def init ( nv: int, ohd: 'int[:,:]' ): """ Create a graph """ @@ -107,7 +107,7 @@ def init ( nv: int, ohd: 'int[:,:]' ): ohd[5,4] = 8 # ================================================================ -@njit(fastmath=True) +@njit def dijkstra_distance_test ( ): """ Test Dijkstra's algorithm """ diff --git a/benchmarks/tests/numba_euler_mod.py b/benchmarks/tests/numba_euler_mod.py index 5ed00ef9..7d3f0c06 100644 --- a/benchmarks/tests/numba_euler_mod.py +++ b/benchmarks/tests/numba_euler_mod.py @@ -12,7 +12,7 @@ from numpy import linspace # ================================================================ -@njit(fastmath=True) +@njit def euler (dydt: '()(real, const real[:], real[:])', tspan: 'real[:]', y0: 'real[:]', n: int, t: 'real[:]', y: 'real[:,:]'): @@ -30,7 +30,7 @@ def euler (dydt: '()(real, const real[:], real[:])', y[i+1,:] = y[i,:] + dt * y[i+1,:] # ================================================================ -@njit(fastmath=True) +@njit def humps_fun ( x : float ): """ Humps function @@ -43,7 +43,7 @@ def humps_fun ( x : float ): return y # ================================================================ -@njit(fastmath=True) +@njit def humps_deriv ( x: 'real', y: 'real[:]', out: 'real[:]' ): """ Derivative of the humps function @@ -52,7 +52,7 @@ def humps_deriv ( x: 'real', y: 'real[:]', out: 'real[:]' ): out[0] = - 2.0 * ( x - 0.3 ) / ( ( x - 0.3 )**2 + 0.01 )**2 - 2.0 * ( x - 0.9 ) / ( ( x - 0.9 )**2 + 0.04 )**2 # ================================================================ -@njit(fastmath=True) +@njit def euler_humps_test ( tspan: 'real[:]', y0: 'real[:]', n: int ): """ Run n steps of an euler method starting from y0 diff --git a/benchmarks/tests/numba_laplace_2d_mod.py b/benchmarks/tests/numba_laplace_2d_mod.py index e685e11d..cac98c47 100644 --- a/benchmarks/tests/numba_laplace_2d_mod.py +++ b/benchmarks/tests/numba_laplace_2d_mod.py @@ -10,7 +10,7 @@ from numba import njit import numpy as np -@njit(fastmath=True) +@njit def laplace_2d(p: 'float[:,:]', y: 'float[:]', dx: float, dy: float, l1norm_target: float): """ Solve the Laplace equation diff --git a/benchmarks/tests/numba_linearconv_1d_mod.py b/benchmarks/tests/numba_linearconv_1d_mod.py index 07bb2d64..e762bb99 100644 --- a/benchmarks/tests/numba_linearconv_1d_mod.py +++ b/benchmarks/tests/numba_linearconv_1d_mod.py @@ -9,7 +9,7 @@ """ from numba import njit -@njit(fastmath=True) +@njit def linearconv_1d(u: 'float[:]', un: 'float[:]', nt: int, nx: int, dt: float, dx: float, c: float): diff --git a/benchmarks/tests/numba_md_mod.py b/benchmarks/tests/numba_md_mod.py index 1f6a57d1..207d5067 100644 --- a/benchmarks/tests/numba_md_mod.py +++ b/benchmarks/tests/numba_md_mod.py @@ -14,7 +14,7 @@ from numpy import sin # ================================================================ -@njit(fastmath=True) +@njit def compute ( p_num: int, d_num: int, pos: 'double[:,:]', vel: 'double[:,:]', mass: float, force: 'double[:,:]' ): """ Calculate the energy and forces associated with the current configuration @@ -61,7 +61,7 @@ def compute ( p_num: int, d_num: int, pos: 'double[:,:]', vel: 'double[:,:]', return potential, kinetic # ================================================================ -@njit(fastmath=True) +@njit def update ( p_num: int, d_num: int, pos: 'double[:,:]', vel: 'double[:,:]', force: 'double[:,:]', acc: 'double[:,:]', mass: float, dt: float ): """ Update the position, velocity and force of the particles @@ -82,7 +82,7 @@ def update ( p_num: int, d_num: int, pos: 'double[:,:]', vel: 'double[:,:]', acc[:] = force * rmass # ================================================================ -@njit(fastmath=True) +@njit def r8mat_uniform_ab ( r: 'double[:,:]', m: int, n: int, a: float, b: float, seed: int ): """ Fill r with random numbers with a uniform distribution """ @@ -118,7 +118,7 @@ def r8mat_uniform_ab ( r: 'double[:,:]', m: int, n: int, a: float, b: float, see return seed # ================================================================ -@njit(fastmath=True) +@njit def initialize ( pos: 'double[:,:]', p_num: int, d_num: int ): """ Initialise the positions of the particles """ @@ -127,7 +127,7 @@ def initialize ( pos: 'double[:,:]', p_num: int, d_num: int ): seed = r8mat_uniform_ab ( pos, d_num, p_num, 0.0, 10.0, seed ) # ================================================================ -@njit(fastmath=True) +@njit def md (d_num: int, p_num: int, step_num: int, dt: float, vel: 'double[:,:]', acc: 'double[:,:]', force: 'double[:,:]', pos: 'double[:,:]'): @@ -144,7 +144,7 @@ def md (d_num: int, p_num: int, step_num: int, dt: float, compute ( p_num, d_num, pos, vel, mass, force ) # ================================================================ -@njit(fastmath=True) +@njit def test_md ( d_num : int = 3, p_num : int = 100, step_num : int = 10, dt : float = 0.1 ): """ Run molecular dynamics test """ diff --git a/benchmarks/tests/numba_midpoint_explicit_mod.py b/benchmarks/tests/numba_midpoint_explicit_mod.py index a2bd45d6..0ad2c877 100644 --- a/benchmarks/tests/numba_midpoint_explicit_mod.py +++ b/benchmarks/tests/numba_midpoint_explicit_mod.py @@ -12,7 +12,7 @@ from numpy import linspace # ================================================================ -@njit(fastmath=True) +@njit def midpoint_explicit (dydt: '()(real, const real[:], real[:])', tspan: 'real[:]', y0: 'real[:]', n: int, t: 'real[:]', y: 'real[:,:]'): @@ -39,7 +39,7 @@ def midpoint_explicit (dydt: '()(real, const real[:], real[:])', y[i+1,:] = y[i,:] + dt * y[i+1,:] # ================================================================ -@njit(fastmath=True) +@njit def humps_fun ( x : float ): """ Humps function @@ -52,7 +52,7 @@ def humps_fun ( x : float ): return y # ================================================================ -@njit(fastmath=True) +@njit def humps_deriv ( x: 'real', y: 'real[:]', out: 'real[:]' ): """ Derivative of the humps function @@ -61,7 +61,7 @@ def humps_deriv ( x: 'real', y: 'real[:]', out: 'real[:]' ): out[0] = - 2.0 * ( x - 0.3 ) / ( ( x - 0.3 )**2 + 0.01 )**2 - 2.0 * ( x - 0.9 ) / ( ( x - 0.9 )**2 + 0.04 )**2 # ================================================================ -@njit(fastmath=True) +@njit def midpoint_explicit_humps_test ( tspan: 'real[:]', y0: 'real[:]', n: int ): """ Run n steps of an explicit midpoint method starting from y0 diff --git a/benchmarks/tests/numba_midpoint_fixed_mod.py b/benchmarks/tests/numba_midpoint_fixed_mod.py index c58646bf..6dfa1d03 100644 --- a/benchmarks/tests/numba_midpoint_fixed_mod.py +++ b/benchmarks/tests/numba_midpoint_fixed_mod.py @@ -12,7 +12,7 @@ from numpy import linspace # ================================================================ -@njit(fastmath=True) +@njit def midpoint_fixed (dydt: '()(real, const real[:], real[:])', tspan: 'real[:]', y0: 'real[:]', n: int, t: 'real[:]', y: 'real[:,:]'): @@ -46,7 +46,7 @@ def midpoint_fixed (dydt: '()(real, const real[:], real[:])', + ( 1.0 - 1.0 / theta ) * y[i,:] # ================================================================ -@njit(fastmath=True) +@njit def humps_fun ( x : float ): """ Humps function @@ -59,7 +59,7 @@ def humps_fun ( x : float ): return y # ================================================================ -@njit(fastmath=True) +@njit def humps_deriv ( x: 'real', y: 'real[:]', out: 'real[:]' ): """ Derivative of the humps function @@ -68,7 +68,7 @@ def humps_deriv ( x: 'real', y: 'real[:]', out: 'real[:]' ): out[0] = - 2.0 * ( x - 0.3 ) / ( ( x - 0.3 )**2 + 0.01 )**2 - 2.0 * ( x - 0.9 ) / ( ( x - 0.9 )**2 + 0.04 )**2 # ================================================================ -@njit(fastmath=True) +@njit def midpoint_fixed_humps_test ( tspan: 'real[:]', y0: 'real[:]', n: int ): """ Run n steps of an implicit midpoint method with a fixed number of iterations, diff --git a/benchmarks/tests/numba_nonlinearconv_1d_mod.py b/benchmarks/tests/numba_nonlinearconv_1d_mod.py index ab0db538..40a77810 100644 --- a/benchmarks/tests/numba_nonlinearconv_1d_mod.py +++ b/benchmarks/tests/numba_nonlinearconv_1d_mod.py @@ -10,7 +10,7 @@ from numba import njit -@njit(fastmath=True) +@njit def nonlinearconv_1d(u: 'float[:]', un: 'float[:]', nt: int, nx: int, dt: float, dx: float): """ Solve a non-linear convection equation diff --git a/benchmarks/tests/numba_poisson_2d_mod.py b/benchmarks/tests/numba_poisson_2d_mod.py index 536a238a..e4c5e6ff 100644 --- a/benchmarks/tests/numba_poisson_2d_mod.py +++ b/benchmarks/tests/numba_poisson_2d_mod.py @@ -9,7 +9,7 @@ """ from numba import njit -@njit(fastmath=True) +@njit def poisson_2d(p: 'float[:,:]', pd: 'float[:,:]', b: 'float[:,:]', nx: int, ny: int, nt: int, dx: float, dy: float): """ Solve the 2D poisson equation diff --git a/benchmarks/tests/numba_rk4_mod.py b/benchmarks/tests/numba_rk4_mod.py index 24411dc6..90f1a875 100644 --- a/benchmarks/tests/numba_rk4_mod.py +++ b/benchmarks/tests/numba_rk4_mod.py @@ -11,7 +11,7 @@ from numpy import zeros # ================================================================ -@njit(fastmath=True) +@njit def rk4 (dydt: '()(real, const real[:], real[:])', tspan: 'real[:]', y0: 'real[:]', n: int, t: 'real[:]', y: 'real[:,:]'): @@ -43,7 +43,7 @@ def rk4 (dydt: '()(real, const real[:], real[:])', y[i+1,:] = y[i,:] + dt * ( f1[:] + 2.0 * f2[:] + 2.0 * f3[:] + f4[:] ) / 6.0 # ================================================================ -@njit(fastmath=True) +@njit def humps_fun ( x : float ): """ Humps function @@ -56,7 +56,7 @@ def humps_fun ( x : float ): return y # ================================================================ -@njit(fastmath=True) +@njit def humps_deriv ( x: 'real', y: 'real[:]', out: 'real[:]' ): """ Derivative of the humps function @@ -65,7 +65,7 @@ def humps_deriv ( x: 'real', y: 'real[:]', out: 'real[:]' ): out[0] = - 2.0 * ( x - 0.3 ) / ( ( x - 0.3 )**2 + 0.01 )**2 - 2.0 * ( x - 0.9 ) / ( ( x - 0.9 )**2 + 0.04 )**2 # ================================================================ -@njit(fastmath=True) +@njit def rk4_humps_test ( tspan: 'real[:]', y0: 'real[:]', n: int ): """ Run n steps of a fourth-order Runge-Kutta method starting from y0 From 34077d3aa549c25b20cfb03c9d97f6c43bbc28ac Mon Sep 17 00:00:00 2001 From: EmilyBoune Date: Sat, 7 Jan 2023 16:36:59 +0100 Subject: [PATCH 2/7] Trigger Benchmark of pyccel From e78411773da1e1687b6714de91bcefce444422f6 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 7 Jan 2023 15:51:13 +0000 Subject: [PATCH 3/7] Update performance comparison --- .../devel_performance_310.md | 50 +- .../devel_performance_310_compilation.svg | 628 +++++++++--------- .../devel_performance_310_execution.svg | 510 +++++++------- .../devel_performance_310_requirements.txt | 6 +- 4 files changed, 597 insertions(+), 597 deletions(-) diff --git a/version_specific_results/devel_performance_310.md b/version_specific_results/devel_performance_310.md index 6c974e34..faa35d7e 100644 --- a/version_specific_results/devel_performance_310.md +++ b/version_specific_results/devel_performance_310.md @@ -1,32 +1,32 @@ -### Performance Comparison (as of Tue Dec 20 09:10:53 UTC 2022) +### Performance Comparison (as of Sat Jan 7 15:51:08 UTC 2023) ## Compilation time Algorithm | python | pythran | numba | pyccel_fortran | pyccel_c ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- -Ackermann | - | 2.13 | 0.34 | 1.29 | 1.23 -Bellman Ford | - | 2.71 | 0.97 | 1.94 | 1.87 -Dijkstra | - | 2.74 | 1.27 | 2.00 | 1.91 -Euler | - | 3.12 | 1.32 | 1.94 | 1.90 -Midpoint Explicit | - | 3.70 | 2.04 | 2.29 | 2.24 -Midpoint Fixed | - | 4.26 | 2.36 | 2.37 | 2.35 -RK4 | - | 4.41 | 2.41 | 2.88 | 2.79 -FD - L Convection | - | 2.49 | 0.32 | 1.83 | 1.82 -FD - NL Convection | - | 2.44 | 0.32 | 1.83 | 1.83 -FD - Poisson | - | 6.60 | 0.77 | 1.96 | 1.95 -FD - Laplace | - | 9.80 | 1.74 | 2.53 | - -M-D | - | - | 5.36 | 2.99 | 2.72 +Ackermann | - | 2.65 | 0.41 | 1.62 | 1.56 +Bellman Ford | - | 3.35 | 1.14 | 2.35 | 2.27 +Dijkstra | - | 3.35 | 1.49 | 2.46 | 2.32 +Euler | - | 3.79 | 1.56 | 2.40 | 2.35 +Midpoint Explicit | - | 4.58 | 2.38 | 2.78 | 2.74 +Midpoint Fixed | - | 5.21 | 2.77 | 2.84 | 2.82 +RK4 | - | 5.43 | 2.76 | 3.53 | 3.47 +FD - L Convection | - | 3.05 | 0.38 | 2.26 | 2.24 +FD - NL Convection | - | 3.04 | 0.37 | 2.24 | 2.22 +FD - Poisson | - | 8.12 | 0.91 | 2.36 | 2.41 +FD - Laplace | - | 12.01 | 2.05 | 3.07 | - +M-D | - | - | 6.38 | 3.64 | 3.35 ## Execution time Algorithm | python | pythran | numba | pyccel_fortran | pyccel_c ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- -Ackermann (ms) | 395.00 | 10.10 | 32.30 | 3.32 | 3.25 -Bellman Ford (ns) | 56500.00 | 361.00 | 700.00 | 216.00 | 487.00 -Dijkstra (ns) | 29700.00 | 319.00 | 500.00 | 230.00 | 473.00 -Euler (ms) | 49.90 | 0.62 | 1.20 | 0.15 | 2.60 -Midpoint Explicit (ms) | 101.00 | 1.47 | 3.26 | 0.24 | 4.60 -Midpoint Fixed (ms) | 512.00 | 8.78 | 17.40 | 1.06 | 19.80 -RK4 (ms) | 255.00 | 2.39 | 6.32 | 0.28 | 5.45 -FD - L Convection (ms) | 1990.00 | 2.54 | 9.07 | 1.81 | 1.55 -FD - NL Convection (ms) | 2520.00 | 4.16 | 9.39 | 1.61 | 1.57 -FD - Poisson (ms) | 4300.00 | 2.91 | 11.10 | 3.96 | 2.06 -FD - Laplace (\textmu s) | 43.70 | 4.96 | 8410.00 | 1.94 | - -M-D (ms) | 51800.00 | - | 231.00 | 301.00 | 304.00 +Ackermann (ms) | 461.00 | 4.59 | 21.70 | 2.55 | 2.82 +Bellman Ford (ns) | 71500.00 | 437.00 | 700.00 | 299.00 | 578.00 +Dijkstra (ns) | 35000.00 | 390.00 | 700.00 | 316.00 | 558.00 +Euler (ms) | 56.00 | 0.79 | 1.60 | 0.16 | 3.51 +Midpoint Explicit (ms) | 114.00 | 1.86 | 3.45 | 0.28 | 6.38 +Midpoint Fixed (ms) | 562.00 | 10.70 | 19.10 | 1.11 | 27.40 +RK4 (ms) | 274.00 | 2.55 | 6.95 | 0.35 | 7.48 +FD - L Convection (ms) | 2430.00 | 2.74 | 11.40 | 1.97 | 2.03 +FD - NL Convection (ms) | 3130.00 | 4.13 | 13.50 | 3.62 | 3.75 +FD - Poisson (ms) | 5220.00 | 3.68 | 12.70 | 4.98 | 2.43 +FD - Laplace (\textmu s) | 53.80 | 5.41 | 12500.00 | 5.06 | - +M-D (ms) | 56200.00 | - | 271.00 | 241.00 | 261.00 diff --git a/version_specific_results/devel_performance_310_compilation.svg b/version_specific_results/devel_performance_310_compilation.svg index f394d628..dc154d20 100644 --- a/version_specific_results/devel_performance_310_compilation.svg +++ b/version_specific_results/devel_performance_310_compilation.svg @@ -6,7 +6,7 @@ - 2022-12-20T09:10:55.970428 + 2023-01-07T15:51:09.460769 image/svg+xml @@ -30,10 +30,10 @@ z - @@ -41,17 +41,17 @@ z - - + - + - + - + - + - + - + - + - + - + - + - + @@ -665,12 +665,12 @@ z - + - + - + - + - + - + - + - + - + - + @@ -937,12 +937,12 @@ z - + - + @@ -953,23 +953,23 @@ z - +" clip-path="url(#p40d2b7bd96)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.5; stroke-width: 0.5; stroke-linecap: square"/> - - + - + - + - + - + - + - + - + - + - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> +" clip-path="url(#p40d2b7bd96)" style="fill: #ff7f0e"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #2ca02c"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #d62728"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - +" clip-path="url(#p40d2b7bd96)" style="fill: #9467bd"/> - - - - - - + - - + - - + - - + @@ -1727,8 +1727,8 @@ z - - + + diff --git a/version_specific_results/devel_performance_310_execution.svg b/version_specific_results/devel_performance_310_execution.svg index b3fd6273..a32bd960 100644 --- a/version_specific_results/devel_performance_310_execution.svg +++ b/version_specific_results/devel_performance_310_execution.svg @@ -6,7 +6,7 @@ - 2022-12-20T09:10:56.296378 + 2023-01-07T15:51:09.865209 image/svg+xml @@ -41,12 +41,12 @@ z - - + @@ -244,7 +244,7 @@ z - + @@ -370,7 +370,7 @@ z - + @@ -495,7 +495,7 @@ z - + @@ -551,7 +551,7 @@ z - + @@ -639,7 +639,7 @@ z - + @@ -665,7 +665,7 @@ z - + @@ -743,7 +743,7 @@ z - + @@ -821,7 +821,7 @@ z - + @@ -866,7 +866,7 @@ z - + @@ -913,7 +913,7 @@ z - + @@ -937,7 +937,7 @@ z - + @@ -955,16 +955,16 @@ z +" clip-path="url(#paba9c81b95)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.5; stroke-width: 0.5; stroke-linecap: square"/> - - + @@ -1015,18 +1015,18 @@ z - + - + - + - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - +" clip-path="url(#paba9c81b95)" style="fill: #ff7f0e"/> - + - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #2ca02c"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #d62728"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> - + - +" clip-path="url(#paba9c81b95)" style="fill: #9467bd"/> + diff --git a/version_specific_results/devel_performance_310_requirements.txt b/version_specific_results/devel_performance_310_requirements.txt index 0346d44b..a4992d19 100644 --- a/version_specific_results/devel_performance_310_requirements.txt +++ b/version_specific_results/devel_performance_310_requirements.txt @@ -2,7 +2,7 @@ Arpeggio==2.0.0 beniget==0.4.1 contourpy==1.0.6 cycler==0.11.0 -filelock==3.8.2 +filelock==3.9.0 fonttools==4.38.0 future==0.18.2 gast==0.5.3 @@ -13,7 +13,7 @@ mpmath==1.2.1 numba==0.56.4 numpy==1.23.5 packaging==22.0 -Pillow==9.3.0 +Pillow==9.4.0 ply==3.11 pyccel @ git+https://github.com/pyccel/pyccel@0525a555f097494792bca41210d44aaf0a324a96 pyccel-benchmarks @ file:///home/runner/work/pyccel-benchmarks/pyccel-benchmarks @@ -24,5 +24,5 @@ python-version==0.0.2 pythran==0.12.0 six==1.16.0 sympy==1.11.1 -termcolor==2.1.1 +termcolor==2.2.0 textX==3.0.0 From d6be3c0ab0a47eba8162c2ea13196afdebac2985 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 7 Jan 2023 15:51:28 +0000 Subject: [PATCH 4/7] Update README and version --- README.md | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 00780b24..6e2fa1be 100644 --- a/README.md +++ b/README.md @@ -89,38 +89,38 @@ Solves a 2D Laplace problem using Finite Differences methods. The code is adapte Runs a molecular dynamics simulation. The code is adapted from examples written by [J. Burkardt](https://people.sc.fsu.edu/~jburkardt/py_src/py_src.html) ## Development branch results -### Performance Comparison (as of Tue Dec 20 09:10:53 UTC 2022) +### Performance Comparison (as of Sat Jan 7 15:51:08 UTC 2023) ## Compilation time Algorithm | python | pythran | numba | pyccel_fortran | pyccel_c ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- -Ackermann | - | 2.13 | 0.34 | 1.29 | 1.23 -Bellman Ford | - | 2.71 | 0.97 | 1.94 | 1.87 -Dijkstra | - | 2.74 | 1.27 | 2.00 | 1.91 -Euler | - | 3.12 | 1.32 | 1.94 | 1.90 -Midpoint Explicit | - | 3.70 | 2.04 | 2.29 | 2.24 -Midpoint Fixed | - | 4.26 | 2.36 | 2.37 | 2.35 -RK4 | - | 4.41 | 2.41 | 2.88 | 2.79 -FD - L Convection | - | 2.49 | 0.32 | 1.83 | 1.82 -FD - NL Convection | - | 2.44 | 0.32 | 1.83 | 1.83 -FD - Poisson | - | 6.60 | 0.77 | 1.96 | 1.95 -FD - Laplace | - | 9.80 | 1.74 | 2.53 | - -M-D | - | - | 5.36 | 2.99 | 2.72 +Ackermann | - | 2.65 | 0.41 | 1.62 | 1.56 +Bellman Ford | - | 3.35 | 1.14 | 2.35 | 2.27 +Dijkstra | - | 3.35 | 1.49 | 2.46 | 2.32 +Euler | - | 3.79 | 1.56 | 2.40 | 2.35 +Midpoint Explicit | - | 4.58 | 2.38 | 2.78 | 2.74 +Midpoint Fixed | - | 5.21 | 2.77 | 2.84 | 2.82 +RK4 | - | 5.43 | 2.76 | 3.53 | 3.47 +FD - L Convection | - | 3.05 | 0.38 | 2.26 | 2.24 +FD - NL Convection | - | 3.04 | 0.37 | 2.24 | 2.22 +FD - Poisson | - | 8.12 | 0.91 | 2.36 | 2.41 +FD - Laplace | - | 12.01 | 2.05 | 3.07 | - +M-D | - | - | 6.38 | 3.64 | 3.35 ## Execution time Algorithm | python | pythran | numba | pyccel_fortran | pyccel_c ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- -Ackermann (ms) | 395.00 | 10.10 | 32.30 | 3.32 | 3.25 -Bellman Ford (ns) | 56500.00 | 361.00 | 700.00 | 216.00 | 487.00 -Dijkstra (ns) | 29700.00 | 319.00 | 500.00 | 230.00 | 473.00 -Euler (ms) | 49.90 | 0.62 | 1.20 | 0.15 | 2.60 -Midpoint Explicit (ms) | 101.00 | 1.47 | 3.26 | 0.24 | 4.60 -Midpoint Fixed (ms) | 512.00 | 8.78 | 17.40 | 1.06 | 19.80 -RK4 (ms) | 255.00 | 2.39 | 6.32 | 0.28 | 5.45 -FD - L Convection (ms) | 1990.00 | 2.54 | 9.07 | 1.81 | 1.55 -FD - NL Convection (ms) | 2520.00 | 4.16 | 9.39 | 1.61 | 1.57 -FD - Poisson (ms) | 4300.00 | 2.91 | 11.10 | 3.96 | 2.06 -FD - Laplace (\textmu s) | 43.70 | 4.96 | 8410.00 | 1.94 | - -M-D (ms) | 51800.00 | - | 231.00 | 301.00 | 304.00 +Ackermann (ms) | 461.00 | 4.59 | 21.70 | 2.55 | 2.82 +Bellman Ford (ns) | 71500.00 | 437.00 | 700.00 | 299.00 | 578.00 +Dijkstra (ns) | 35000.00 | 390.00 | 700.00 | 316.00 | 558.00 +Euler (ms) | 56.00 | 0.79 | 1.60 | 0.16 | 3.51 +Midpoint Explicit (ms) | 114.00 | 1.86 | 3.45 | 0.28 | 6.38 +Midpoint Fixed (ms) | 562.00 | 10.70 | 19.10 | 1.11 | 27.40 +RK4 (ms) | 274.00 | 2.55 | 6.95 | 0.35 | 7.48 +FD - L Convection (ms) | 2430.00 | 2.74 | 11.40 | 1.97 | 2.03 +FD - NL Convection (ms) | 3130.00 | 4.13 | 13.50 | 3.62 | 3.75 +FD - Poisson (ms) | 5220.00 | 3.68 | 12.70 | 4.98 | 2.43 +FD - Laplace (\textmu s) | 53.80 | 5.41 | 12500.00 | 5.06 | - +M-D (ms) | 56200.00 | - | 271.00 | 241.00 | 261.00 ![Development compilation results](./version_specific_results/devel_performance_310_compilation.svg) ![Development execution results](./version_specific_results/devel_performance_310_execution.svg) From 04fb9e7009b84006cda8943f77819181abda927d Mon Sep 17 00:00:00 2001 From: EmilyBoune Date: Thu, 12 Jan 2023 18:32:58 +0100 Subject: [PATCH 5/7] Remove test results --- README.md | 50 +- .../devel_performance_310.md | 50 +- .../devel_performance_310_compilation.svg | 628 +++++++++--------- .../devel_performance_310_execution.svg | 510 +++++++------- .../devel_performance_310_requirements.txt | 6 +- 5 files changed, 622 insertions(+), 622 deletions(-) diff --git a/README.md b/README.md index 6e2fa1be..00780b24 100644 --- a/README.md +++ b/README.md @@ -89,38 +89,38 @@ Solves a 2D Laplace problem using Finite Differences methods. The code is adapte Runs a molecular dynamics simulation. The code is adapted from examples written by [J. Burkardt](https://people.sc.fsu.edu/~jburkardt/py_src/py_src.html) ## Development branch results -### Performance Comparison (as of Sat Jan 7 15:51:08 UTC 2023) +### Performance Comparison (as of Tue Dec 20 09:10:53 UTC 2022) ## Compilation time Algorithm | python | pythran | numba | pyccel_fortran | pyccel_c ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- -Ackermann | - | 2.65 | 0.41 | 1.62 | 1.56 -Bellman Ford | - | 3.35 | 1.14 | 2.35 | 2.27 -Dijkstra | - | 3.35 | 1.49 | 2.46 | 2.32 -Euler | - | 3.79 | 1.56 | 2.40 | 2.35 -Midpoint Explicit | - | 4.58 | 2.38 | 2.78 | 2.74 -Midpoint Fixed | - | 5.21 | 2.77 | 2.84 | 2.82 -RK4 | - | 5.43 | 2.76 | 3.53 | 3.47 -FD - L Convection | - | 3.05 | 0.38 | 2.26 | 2.24 -FD - NL Convection | - | 3.04 | 0.37 | 2.24 | 2.22 -FD - Poisson | - | 8.12 | 0.91 | 2.36 | 2.41 -FD - Laplace | - | 12.01 | 2.05 | 3.07 | - -M-D | - | - | 6.38 | 3.64 | 3.35 +Ackermann | - | 2.13 | 0.34 | 1.29 | 1.23 +Bellman Ford | - | 2.71 | 0.97 | 1.94 | 1.87 +Dijkstra | - | 2.74 | 1.27 | 2.00 | 1.91 +Euler | - | 3.12 | 1.32 | 1.94 | 1.90 +Midpoint Explicit | - | 3.70 | 2.04 | 2.29 | 2.24 +Midpoint Fixed | - | 4.26 | 2.36 | 2.37 | 2.35 +RK4 | - | 4.41 | 2.41 | 2.88 | 2.79 +FD - L Convection | - | 2.49 | 0.32 | 1.83 | 1.82 +FD - NL Convection | - | 2.44 | 0.32 | 1.83 | 1.83 +FD - Poisson | - | 6.60 | 0.77 | 1.96 | 1.95 +FD - Laplace | - | 9.80 | 1.74 | 2.53 | - +M-D | - | - | 5.36 | 2.99 | 2.72 ## Execution time Algorithm | python | pythran | numba | pyccel_fortran | pyccel_c ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- -Ackermann (ms) | 461.00 | 4.59 | 21.70 | 2.55 | 2.82 -Bellman Ford (ns) | 71500.00 | 437.00 | 700.00 | 299.00 | 578.00 -Dijkstra (ns) | 35000.00 | 390.00 | 700.00 | 316.00 | 558.00 -Euler (ms) | 56.00 | 0.79 | 1.60 | 0.16 | 3.51 -Midpoint Explicit (ms) | 114.00 | 1.86 | 3.45 | 0.28 | 6.38 -Midpoint Fixed (ms) | 562.00 | 10.70 | 19.10 | 1.11 | 27.40 -RK4 (ms) | 274.00 | 2.55 | 6.95 | 0.35 | 7.48 -FD - L Convection (ms) | 2430.00 | 2.74 | 11.40 | 1.97 | 2.03 -FD - NL Convection (ms) | 3130.00 | 4.13 | 13.50 | 3.62 | 3.75 -FD - Poisson (ms) | 5220.00 | 3.68 | 12.70 | 4.98 | 2.43 -FD - Laplace (\textmu s) | 53.80 | 5.41 | 12500.00 | 5.06 | - -M-D (ms) | 56200.00 | - | 271.00 | 241.00 | 261.00 +Ackermann (ms) | 395.00 | 10.10 | 32.30 | 3.32 | 3.25 +Bellman Ford (ns) | 56500.00 | 361.00 | 700.00 | 216.00 | 487.00 +Dijkstra (ns) | 29700.00 | 319.00 | 500.00 | 230.00 | 473.00 +Euler (ms) | 49.90 | 0.62 | 1.20 | 0.15 | 2.60 +Midpoint Explicit (ms) | 101.00 | 1.47 | 3.26 | 0.24 | 4.60 +Midpoint Fixed (ms) | 512.00 | 8.78 | 17.40 | 1.06 | 19.80 +RK4 (ms) | 255.00 | 2.39 | 6.32 | 0.28 | 5.45 +FD - L Convection (ms) | 1990.00 | 2.54 | 9.07 | 1.81 | 1.55 +FD - NL Convection (ms) | 2520.00 | 4.16 | 9.39 | 1.61 | 1.57 +FD - Poisson (ms) | 4300.00 | 2.91 | 11.10 | 3.96 | 2.06 +FD - Laplace (\textmu s) | 43.70 | 4.96 | 8410.00 | 1.94 | - +M-D (ms) | 51800.00 | - | 231.00 | 301.00 | 304.00 ![Development compilation results](./version_specific_results/devel_performance_310_compilation.svg) ![Development execution results](./version_specific_results/devel_performance_310_execution.svg) diff --git a/version_specific_results/devel_performance_310.md b/version_specific_results/devel_performance_310.md index faa35d7e..6c974e34 100644 --- a/version_specific_results/devel_performance_310.md +++ b/version_specific_results/devel_performance_310.md @@ -1,32 +1,32 @@ -### Performance Comparison (as of Sat Jan 7 15:51:08 UTC 2023) +### Performance Comparison (as of Tue Dec 20 09:10:53 UTC 2022) ## Compilation time Algorithm | python | pythran | numba | pyccel_fortran | pyccel_c ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- -Ackermann | - | 2.65 | 0.41 | 1.62 | 1.56 -Bellman Ford | - | 3.35 | 1.14 | 2.35 | 2.27 -Dijkstra | - | 3.35 | 1.49 | 2.46 | 2.32 -Euler | - | 3.79 | 1.56 | 2.40 | 2.35 -Midpoint Explicit | - | 4.58 | 2.38 | 2.78 | 2.74 -Midpoint Fixed | - | 5.21 | 2.77 | 2.84 | 2.82 -RK4 | - | 5.43 | 2.76 | 3.53 | 3.47 -FD - L Convection | - | 3.05 | 0.38 | 2.26 | 2.24 -FD - NL Convection | - | 3.04 | 0.37 | 2.24 | 2.22 -FD - Poisson | - | 8.12 | 0.91 | 2.36 | 2.41 -FD - Laplace | - | 12.01 | 2.05 | 3.07 | - -M-D | - | - | 6.38 | 3.64 | 3.35 +Ackermann | - | 2.13 | 0.34 | 1.29 | 1.23 +Bellman Ford | - | 2.71 | 0.97 | 1.94 | 1.87 +Dijkstra | - | 2.74 | 1.27 | 2.00 | 1.91 +Euler | - | 3.12 | 1.32 | 1.94 | 1.90 +Midpoint Explicit | - | 3.70 | 2.04 | 2.29 | 2.24 +Midpoint Fixed | - | 4.26 | 2.36 | 2.37 | 2.35 +RK4 | - | 4.41 | 2.41 | 2.88 | 2.79 +FD - L Convection | - | 2.49 | 0.32 | 1.83 | 1.82 +FD - NL Convection | - | 2.44 | 0.32 | 1.83 | 1.83 +FD - Poisson | - | 6.60 | 0.77 | 1.96 | 1.95 +FD - Laplace | - | 9.80 | 1.74 | 2.53 | - +M-D | - | - | 5.36 | 2.99 | 2.72 ## Execution time Algorithm | python | pythran | numba | pyccel_fortran | pyccel_c ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- -Ackermann (ms) | 461.00 | 4.59 | 21.70 | 2.55 | 2.82 -Bellman Ford (ns) | 71500.00 | 437.00 | 700.00 | 299.00 | 578.00 -Dijkstra (ns) | 35000.00 | 390.00 | 700.00 | 316.00 | 558.00 -Euler (ms) | 56.00 | 0.79 | 1.60 | 0.16 | 3.51 -Midpoint Explicit (ms) | 114.00 | 1.86 | 3.45 | 0.28 | 6.38 -Midpoint Fixed (ms) | 562.00 | 10.70 | 19.10 | 1.11 | 27.40 -RK4 (ms) | 274.00 | 2.55 | 6.95 | 0.35 | 7.48 -FD - L Convection (ms) | 2430.00 | 2.74 | 11.40 | 1.97 | 2.03 -FD - NL Convection (ms) | 3130.00 | 4.13 | 13.50 | 3.62 | 3.75 -FD - Poisson (ms) | 5220.00 | 3.68 | 12.70 | 4.98 | 2.43 -FD - Laplace (\textmu s) | 53.80 | 5.41 | 12500.00 | 5.06 | - -M-D (ms) | 56200.00 | - | 271.00 | 241.00 | 261.00 +Ackermann (ms) | 395.00 | 10.10 | 32.30 | 3.32 | 3.25 +Bellman Ford (ns) | 56500.00 | 361.00 | 700.00 | 216.00 | 487.00 +Dijkstra (ns) | 29700.00 | 319.00 | 500.00 | 230.00 | 473.00 +Euler (ms) | 49.90 | 0.62 | 1.20 | 0.15 | 2.60 +Midpoint Explicit (ms) | 101.00 | 1.47 | 3.26 | 0.24 | 4.60 +Midpoint Fixed (ms) | 512.00 | 8.78 | 17.40 | 1.06 | 19.80 +RK4 (ms) | 255.00 | 2.39 | 6.32 | 0.28 | 5.45 +FD - L Convection (ms) | 1990.00 | 2.54 | 9.07 | 1.81 | 1.55 +FD - NL Convection (ms) | 2520.00 | 4.16 | 9.39 | 1.61 | 1.57 +FD - Poisson (ms) | 4300.00 | 2.91 | 11.10 | 3.96 | 2.06 +FD - Laplace (\textmu s) | 43.70 | 4.96 | 8410.00 | 1.94 | - +M-D (ms) | 51800.00 | - | 231.00 | 301.00 | 304.00 diff --git a/version_specific_results/devel_performance_310_compilation.svg b/version_specific_results/devel_performance_310_compilation.svg index dc154d20..f394d628 100644 --- a/version_specific_results/devel_performance_310_compilation.svg +++ b/version_specific_results/devel_performance_310_compilation.svg @@ -6,7 +6,7 @@ - 2023-01-07T15:51:09.460769 + 2022-12-20T09:10:55.970428 image/svg+xml @@ -30,10 +30,10 @@ z - @@ -41,17 +41,17 @@ z - - + - + - + - + - + - + - + - + - + - + - + - + @@ -665,12 +665,12 @@ z - + - + - + - + - + - + - + - + - + - + @@ -937,12 +937,12 @@ z - + - + @@ -953,23 +953,23 @@ z - +" clip-path="url(#pea615c4950)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.5; stroke-width: 0.5; stroke-linecap: square"/> - - + - + - + - + - + - + - + - + - + - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> +" clip-path="url(#pea615c4950)" style="fill: #ff7f0e"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #2ca02c"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #d62728"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - +" clip-path="url(#pea615c4950)" style="fill: #9467bd"/> - - - - - - + - - + - - + - - + @@ -1727,8 +1727,8 @@ z - - + + diff --git a/version_specific_results/devel_performance_310_execution.svg b/version_specific_results/devel_performance_310_execution.svg index a32bd960..b3fd6273 100644 --- a/version_specific_results/devel_performance_310_execution.svg +++ b/version_specific_results/devel_performance_310_execution.svg @@ -6,7 +6,7 @@ - 2023-01-07T15:51:09.865209 + 2022-12-20T09:10:56.296378 image/svg+xml @@ -41,12 +41,12 @@ z - - + @@ -244,7 +244,7 @@ z - + @@ -370,7 +370,7 @@ z - + @@ -495,7 +495,7 @@ z - + @@ -551,7 +551,7 @@ z - + @@ -639,7 +639,7 @@ z - + @@ -665,7 +665,7 @@ z - + @@ -743,7 +743,7 @@ z - + @@ -821,7 +821,7 @@ z - + @@ -866,7 +866,7 @@ z - + @@ -913,7 +913,7 @@ z - + @@ -937,7 +937,7 @@ z - + @@ -955,16 +955,16 @@ z +" clip-path="url(#pb5d65a0486)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.5; stroke-width: 0.5; stroke-linecap: square"/> - - + @@ -1015,18 +1015,18 @@ z - + - + - + - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #ff7f0e"/> - + - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #2ca02c"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #d62728"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> - + - +" clip-path="url(#pb5d65a0486)" style="fill: #9467bd"/> + diff --git a/version_specific_results/devel_performance_310_requirements.txt b/version_specific_results/devel_performance_310_requirements.txt index a4992d19..0346d44b 100644 --- a/version_specific_results/devel_performance_310_requirements.txt +++ b/version_specific_results/devel_performance_310_requirements.txt @@ -2,7 +2,7 @@ Arpeggio==2.0.0 beniget==0.4.1 contourpy==1.0.6 cycler==0.11.0 -filelock==3.9.0 +filelock==3.8.2 fonttools==4.38.0 future==0.18.2 gast==0.5.3 @@ -13,7 +13,7 @@ mpmath==1.2.1 numba==0.56.4 numpy==1.23.5 packaging==22.0 -Pillow==9.4.0 +Pillow==9.3.0 ply==3.11 pyccel @ git+https://github.com/pyccel/pyccel@0525a555f097494792bca41210d44aaf0a324a96 pyccel-benchmarks @ file:///home/runner/work/pyccel-benchmarks/pyccel-benchmarks @@ -24,5 +24,5 @@ python-version==0.0.2 pythran==0.12.0 six==1.16.0 sympy==1.11.1 -termcolor==2.2.0 +termcolor==2.1.1 textX==3.0.0 From 6b613761974871d825fb7c13565a3caad3527a4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaman=20G=C3=BC=C3=A7l=C3=BC?= Date: Tue, 31 Jan 2023 19:20:21 +0100 Subject: [PATCH 6/7] Remove useless whitespace change --- benchmarks/tests/numba_linearconv_1d_mod.py | 1 - 1 file changed, 1 deletion(-) diff --git a/benchmarks/tests/numba_linearconv_1d_mod.py b/benchmarks/tests/numba_linearconv_1d_mod.py index b3b643f5..eccf2eb2 100644 --- a/benchmarks/tests/numba_linearconv_1d_mod.py +++ b/benchmarks/tests/numba_linearconv_1d_mod.py @@ -11,7 +11,6 @@ from numba import njit import numpy as np - @njit def linearconv_1d(nx: int, dt: float, nt: int): """ From 1bb6e4e222fcec46bc2cac3d4a7f1e7a9709a63d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaman=20G=C3=BC=C3=A7l=C3=BC?= Date: Tue, 31 Jan 2023 19:21:14 +0100 Subject: [PATCH 7/7] Remove useless whitespace change --- benchmarks/tests/numba_laplace_2d_mod.py | 1 - 1 file changed, 1 deletion(-) diff --git a/benchmarks/tests/numba_laplace_2d_mod.py b/benchmarks/tests/numba_laplace_2d_mod.py index 13417dc9..afd88dc6 100644 --- a/benchmarks/tests/numba_laplace_2d_mod.py +++ b/benchmarks/tests/numba_laplace_2d_mod.py @@ -11,7 +11,6 @@ from numba import njit import numpy as np - @njit def laplace_2d(nx: int, ny: int, rtol: float, maxiter: int): """