Skip to content

grnydawn/KGen

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KGEN: Fortran Kernel Generator

A Python tool that extracts partial codes out of a large Fortran application and converts them into a standalone/verifiable/executable kernel

AUTHORS

Youngsung Kim and John Dennis

VERSION

0.7.1

COPYRIGHT

See the document entitled LICENSE.txt

Send questions and comments to KGEN Dev. Team (kgen@ucar.edu).

Documentation

https://ncar.github.io/kgendocs

Changes from KGEN ver. 0.6.3

[ User Interface ]

  • Three mandatory arguments(clean, build and run of target application) are added in command line.
  • strace, rebuild, prerun options are added

[ Major Improvements ]

  • Macro definitions and include paths are automatically generated by KGen
  • tprof timing routines are added in generated kernels
  • Improved state file generation for intrinsic pointer variables

Overview

  • KGEN extracts an arbitrary region of Fortran source code as a stand-alone executable software
  • In addition, it generates input & output data for executing and verifying the generated kernel
  • All KGEN-generated kernels include correctness check and timing measurement

Dependencies

  • Linux OS
  • Python (>=2.7 and < 3.0)
  • C Pre-Processor(cpp)
  • Make build tool(make)
  • System call trace tool(strace)

Obtaining the Source Code

The latest KGEN can be obtained from the Git repository.

git clone https://github.com/NCAR/KGen.git

Building & Installation

Current KGEN does not require to build or to install.

Instructions & Use

  1. Download from KGen Github repository.

    >> git clone https://github.com/NCAR/KGen.git

  2. Read Kgen documentation in "doc" directory under the top Kgen directory.

    >> evince KGENUsersGuideVersion0.7.0.pdf

  3. Try a kernel generation example in "examples/simple" directory

    >> cd examples/simple; # move to an example directory

    >> vi src/Makefile; # Modify FC if required

    >> make; # extract a kernel

    >> cd kernel; # move to a kernel directory

    >> make; # build and run a kernel

About

Fortran Kernel Generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Fortran 63.8%
  • Python 35.4%
  • Other 0.8%