Git Product home page Git Product logo

epcc-reframe's People

Contributors

adrianjhpc avatar aturner-epcc avatar bigballoon8 avatar eleanor-broadway avatar holly-t avatar jirudaya avatar jprichings avatar juanfrh avatar kevinstratford avatar ruiapostolo avatar welucas2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

epcc-reframe's Issues

Add Singularity tests

Add tests that Singularity works as expected:

  • Pull image from DockerHub and run on frontend
  • Run pre-existing image on compute nodes
  • Run prexisting parallel image across multiple compute nodes (and check performance)

Test MPMD job submission

Test that MPMD jobs run as expected. How these are implemented depends on the scheduler, for example, Slurm would typically use hetjob to run this type of job.

Configuration of directories for IO

The paths of the filesystem are currently configured in each test doing I/O. At the moment, they all write to a shared z19 directory on each of the archer2 filesystem. That means the tests will break when run from another project account or when run on a machine with different file systems , such as on the TDS.

It would be good for the base directories to be configured at run time. One would add an option to the reframe command or modify a config file and all the tests would perform output within those directories.

Create a style guide

Having a consistent style guide helps when creating new, or upgrading older tests.
Furthermore, including linter configuration files in the repository would ensure everyone can easily follow the rules.

I am partial to the philosophy behind Black - I think it makes for readable code.
Regarding PEP8, I don't like the 79 character limit (E501) and W503, as I feel the first pressures people into writing more cryptic variable names, and the latter is supposed to be reversed soon. I would suggest ignoring W503 and setting a line-length of 120 characters.

Add module tests

Add simple tests to ensure that all modulepaths that should be visible, are visible (on login and compute nodes)

Add per OST Lustre IO tests

Suggestion from HPC Systems team

Thinking ahead to reframe tests we might want to run - on the spinning-rust lustre, there's one OST per server (and if the site E-1000 we have is anything to go by, this will also be the case for the NVMe) - it might be worth doing some kind of I/O tests on every OST in individually to look for slowdowns

Add runtime option on Lustre caching to benchio tests

At the moment it is up to the system if Lustre client caching is used or not which can lead to inconsistencies with test performance. We should update the benchio source code to allow the test to switch caching off at runtime for all the different tests.

For MPIIO:

  call MPI_File_sync(fh,ierr)
  call MPI_File_close(fh, ierr)

For HDF5:

  ! Close the file.
  CALL h5fflush_f( file_id , H5F_SCOPE_GLOBAL_F,ierr )
  CALL h5fclose_f(file_id, ierr)

For file-per-process:

! Declare the interface for POSIX fsync function
  interface
    function fsync (fd) bind(c,name="fsync")
    use iso_c_binding, only: c_int
      integer(c_int), value :: fd
      integer(c_int) :: fsync
    end function fsync
  end interface

...file writing...

  ! Flush and sync
  flush(10)
  ret = fsync(fnum(10))

  ! Handle possible error
  if (ret /= 0) stop "Error calling FSYNC"

Add placement tests

Add tests to verify that Slurm process/thread placement on compute nodes is behaving as expected.

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.