Coder Social home page Coder Social logo

gamdow / ops Goto Github PK

View Code? Open in Web Editor NEW

This project forked from op-dsl/ops

0.0 0.0 0.0 26.97 MB

OPS is an API with associated libraries and preprocessors to generate parallel executables for applications on mulit-block structured meshes.

Home Page: http://www.oerc.ox.ac.uk/projects/ops

Cuda 14.13% C++ 69.88% C 12.22% Makefile 0.60% Objective-C 0.08% Shell 0.33% Fortran 1.66% PHP 0.01% Python 1.08% Roff 0.01%

ops's Introduction

##OPS

OPS is an API with associated libraries and pre-processors to generate parallel executables for applications on mulit-block structured grids.

This repository contains the implementation of the run-time library and the pre-processor, and is structured as follows:

  • ops: Implementation of the user and run-time OPS C/C++ APIs

  • apps: Application examples in C. These are examples of user application code and also include the target code an OPS pre-processor should produce to correctly use the OPS run-time library. Currently the main application developed with OPS is a single block structured mesh application - Cloverleaf originally developed at https://github.com/Warwick-PCAV/CloverLeaf

  • translator: Python OPS pre-processor for C/C++ API

  • doc: Documentation

####Installation

  1. Set up environmental variables:
  • OPS_COMPILER - compiler to be used (Currently supports Intel, PGI and Cray compilers, but others can be easily incorporated by extending the Makefiles used in step 2 and 3)
  • OPS_INSTALL_PATH - Installation directory of OPS/ops
  • CUDA_INSTALL_PATH - Installation directory of CUDA, usually /usr/local/cuda (to build CUDA libs and applications)
  • OPENCL_INSTALL_PATH - Installation directory of OpenCL, usually /usr/local/cuda for NVIDIA OpenCL implementation (to build OpenCL libs and applications)
  • MPI_INSTALL_PATH - Installation directory of MPI (to build MPI based distributed memory libs and applications)
  • HDF5_INSTALL_PATH - Installation directory of HDF5 (to support HDF5 based File I/O)

See example scripts (e.g. source_intel, source_pgi_15.10, source_cray) under OPS/ops/ that sets up the environment for building with various compilers (Intel, PGI, Cray).

  1. Build OPS back-end libraries.

For C/C++ back-end use Makefile under OPS/ops/c (modify Makefile if required). The libraries will be built in OPS/ops/c/lib

cd $OPS_INSTALL_PATH/c
make

For Fortran back-end use Makefile under OPS/ops/fortran (modify Makefile if required). The libraries will be built in OPS/ops/fortran/lib

cd $OPS_INSTALL_PATH/fortran
make
  1. Build OPS example applications

For example to build CloverLeaf_3D under OPS/apps/c/CloverLeaf_3D

cd ../apps/c/Cloverleaf_3D/
make

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.