HiHAT:About: Difference between revisions

From HiHAT
Jump to navigation Jump to search
(Created page with "This wiki presently serves to inform the development of a HiHAT framework in seven ways: Glossary and References Usage models prosaic descriptions of how HiHA...")
 
No edit summary
 
Line 1: Line 1:
This wiki presently serves to inform the development of a HiHAT framework in seven ways:
This wiki presently serves to inform the development of a HiHAT framework in seven ways:
 
# [[Glossary and References]]
    Glossary and References
# [[Usage models]]
    Usage models
#* prosaic descriptions of how HiHAT would be used  
        prosaic descriptions of how HiHAT would be used
#* Examples: static vs. dynamic, C++ features, task graph vs. imperative interfaces, multiple files vs. one source file
        Examples: static vs. dynamic, C++ features, task graph vs. imperative interfaces, multiple files vs. one source file
#* purpose: get a deeper appreciation of new usages, see commonalities and patterns across multiple usages
        purpose: get a deeper appreciation of new usages, see commonalities and patterns across multiple usages
# [[User stories]]
    User stories
#* formulaic, succinct and more rigorous descriptions of what is wanted out of HiHAT
        formulaic, succinct and more rigorous descriptions of what is wanted out of HiHAT
#* As a <role>, I want <function> so that <benefit>, such that <acceptance criteria>
        As a <role>, I want <function> so that <benefit>, such that <acceptance criteria>
#* purpose: get more rigorous about what is needed
        purpose: get more rigorous about what is needed
# [[Applications]]
    Applications
#* Brief description of app and its business importance
        Brief description of app and its business importance
#* Brief description of app domain
        Brief description of app domain
#* Qualitative or quantitative analysis of where and how it would benefit from HiHAT
        Qualitative or quantitative analysis of where and how it would benefit from HiHAT
#* Expected time table for delivery of a solution (e.g. readiness for the arrival of a new supercomputer at a USG lab), and resources available to implement it with HiHAT
        Expected time table for delivery of a solution (e.g. readiness for the arrival of a new supercomputer at a USG lab), and resources available to implement it with HiHAT
#* purpose: identify apps that could lead vehicles that drive the development of an open source project and that would be a poster child that would build confidence for others to follow
        purpose: identify apps that could lead vehicles that drive the development of an open source project and that would be a poster child that would build confidence for others to follow
# [[Runtime Clients]]
    Runtime Clients
#* Language or tasking runtimes that are clients on top of the HiHAT user and common layers
        Language or tasking runtimes that are clients on top of the HiHAT user and common layers
#* Descriptions, key characteristics
        Descriptions, key characteristics
# [[Implementation Modules]]
    Implementation Modules
#* Implementations of HiHAT user and common layer functionality, provided by vendors or third parties
        Implementations of HiHAT user and common layer functionality, provided by vendors or third parties
# [[Reference]]
    Reference
#* pointers to other related work that could be of interest to this community that doesn't fit into the above categories
        pointers to other related work that could be of interest to this community that doesn't fit into the above categories


Some key points about this wiki and what gets posted here
Some key points about this wiki and what gets posted here
* All contributions of ideas and code examples here are considered public.  There are no implied restrictions on the reuse of intellectual property or code, in open source or proprietary contexts.
* This is a community effort.  It is expected that the whole community will benefit from the considerable efforts of many generous and conscientious people who are working for the common good.  Thanks for your investment!


    All contributions of ideas and code examples here are considered public. There are no implied restrictions on the reuse of intellectual property or code, in open source or proprietary contexts.
For a HiHAT framework to be viable, it needs to support several targets, provide common building blocks, services and transformations in an open architecture, and enable a variety of different applications and frameworks to be built on top.  The diagram below suggests one possible arrangement.
    This is a community effort. It is expected that the whole community will benefit from the considerable efforts of many generous and conscientious people who are working for the common good. Thanks for your investment!


For a HiHAT framework to be viable, it needs to support several targets, provide common building blocks, services and transformations in an open architecture, and enable a variety of different applications and frameworks to be built on top. The diagram below suggests one possible arrangement.
[[File:HiHAT_Diagram.png|center|600px|caption="Possible HiHAT architecture"]]
caption="Possible HiHAT architecture"


Please refer to the HiHAT SW Stack page for a discussion of how various SW components might interact.
Please refer to the '''[[HiHAT SW Stack]]''' page for a discussion of how various SW components might interact.


If the middle layers are modular, implementations can be created, plugged in, and iteratively refined. They may be freely shared or premium versions could be offered commercially.
If the middle layers are modular, implementations can be created, plugged in, and iteratively refined. They may be freely shared or premium versions could be offered commercially.

Latest revision as of 05:22, 14 October 2021

This wiki presently serves to inform the development of a HiHAT framework in seven ways:

  1. Glossary and References
  2. Usage models
    • prosaic descriptions of how HiHAT would be used
    • Examples: static vs. dynamic, C++ features, task graph vs. imperative interfaces, multiple files vs. one source file
    • purpose: get a deeper appreciation of new usages, see commonalities and patterns across multiple usages
  3. User stories
    • formulaic, succinct and more rigorous descriptions of what is wanted out of HiHAT
    • As a <role>, I want <function> so that <benefit>, such that <acceptance criteria>
    • purpose: get more rigorous about what is needed
  4. Applications
    • Brief description of app and its business importance
    • Brief description of app domain
    • Qualitative or quantitative analysis of where and how it would benefit from HiHAT
    • Expected time table for delivery of a solution (e.g. readiness for the arrival of a new supercomputer at a USG lab), and resources available to implement it with HiHAT
    • purpose: identify apps that could lead vehicles that drive the development of an open source project and that would be a poster child that would build confidence for others to follow
  5. Runtime Clients
    • Language or tasking runtimes that are clients on top of the HiHAT user and common layers
    • Descriptions, key characteristics
  6. Implementation Modules
    • Implementations of HiHAT user and common layer functionality, provided by vendors or third parties
  7. Reference
    • pointers to other related work that could be of interest to this community that doesn't fit into the above categories

Some key points about this wiki and what gets posted here

  • All contributions of ideas and code examples here are considered public. There are no implied restrictions on the reuse of intellectual property or code, in open source or proprietary contexts.
  • This is a community effort. It is expected that the whole community will benefit from the considerable efforts of many generous and conscientious people who are working for the common good. Thanks for your investment!

For a HiHAT framework to be viable, it needs to support several targets, provide common building blocks, services and transformations in an open architecture, and enable a variety of different applications and frameworks to be built on top. The diagram below suggests one possible arrangement.

caption="Possible HiHAT architecture"

Please refer to the HiHAT SW Stack page for a discussion of how various SW components might interact.

If the middle layers are modular, implementations can be created, plugged in, and iteratively refined. They may be freely shared or premium versions could be offered commercially.