Giter Site home page Giter Site logo

petscbenchmarks's Introduction

PetscBenchmarks

This Project propose a simple linear algebra problem to be solve with differents KSP and PC.

Objective

It may be difficult to chose an appropriate Preconditionneur and solver for linear algrebra problems.

Indeed, it is really case dependant.

The obsective of this Benchmark is to help me chose a solver and preconditioneur easily, depending of the system size, conditions, and architecture (herdware). Right know, I'm using only PetsC, but I am planning to add Hypre as well.

The problem

The problem is a simple Poisson equation : $ \Delta \phi = \rho$

We are using Derichelt conditions in one direction, and Periodic conditions in the other. The boundary conditions can be changed.

Code architecture

This is a bit Tricky.. I am using the solver library from a Fortran code. However, the Fortran API is not always presents depending of the hardware. So, I use *.c files to call the solver, and I use a Fortran file for the main.

But, In order to ease the Benchmarking, I need to passe commandline arguments to the c files so that Petsc can access it !

How to use it

First compile the code with the cmake. Be sure to define the environment variables like Petsc_Dir so that the library can be linked.

The execute the code with different command lines. The file test\run.sh gives an example.

petscbenchmarks's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.