https://github.com/augustunderground/prehsept

Modeling the behaviour of primitive devices with Hasktorch.

https://github.com/augustunderground/prehsept

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary

Keywords

gm-over-id haskell hasktorch machine-learning transistor-characterization
Last synced: 5 months ago · JSON representation

Repository

Modeling the behaviour of primitive devices with Hasktorch.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
gm-over-id haskell hasktorch machine-learning transistor-characterization
Created over 4 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License

README.md

prehsept

Modeling the behaviour of primitive devices around the operating point in haskell.

Setup

Requires libtorch symlinked into the root of this repository according to extra-include-dirs and extra-lib-dirs in stack.yaml.

The setenv script can be sourced to export the correct LD_LIBRARY_PATH. Additionally it exports the DEVICE variable, supposedly enabling GPU support in Hasktorch (I'm not sure how/if it works).

sh $ source setenv

Usage

Build the project with stack

sh $ stack build

then run it

sh $ stack run

CLI

The executable part supports the following arguments:

```bash Primitive Device Modeling Around the Operating Point

Usage: prehsept-exe [-k|--pdk PDK] -d|--dev DEV [-n|--num NUM] [-r|--reg REGION] [-s|--size SIZE] PREHSEPT

Available options: -k,--pdk PDK PDK from which the data was generated (default: xh035) -d,--dev DEV Device Type: nmos | pmos (default: nmos) -p,--dir DIR Path to lookup-table as tensor -n,--num NUM Number of Epochs (default: 25) -r,--reg REGION Region of Operation: 2 | 3 (default: 2) -e,--exp Experimental Mapping -s,--size SIZE Batch Size (default: 5000) -h,--help Show this help text ```

For example, to train a GPDK180 NMOS model for 100 epochs with a batch size of 32 run:

bash stack exec -- prehsept-exe --pdk gpdk180 --dev nmos --dir ./data/gpdk180-pmos.pt --size 32 --num 100

Notebooks

The notebooks can be viewed locally by running the jupyter server in the ./notebooks directory:

bash $ stack exec jupyter -- notebook

IHaskell must be installed for this to work.

License

BSD3

Thanks

Thanks to the hastorch project!

Owner

  • Name: ynk
  • Login: AugustUnderground
  • Kind: user
  • Location: Innsmouth
  • Company: @electronics-and-drives

PhD Student at Reutlingen University

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • AugustUnderground (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

prehsept.cabal hackage
  • base >=4.7 && <5
  • binary *
  • bytestring *
  • directory *
  • hasktorch *
  • hvega *
  • ihaskell-hvega *
  • libtorch-ffi *
  • optparse-applicative *
  • prehsept *
  • terminal-progress-bar *
  • text *
  • time *
  • base >=4.7 && <5 test
  • binary * test
  • bytestring * test
  • directory * test
  • hasktorch * test
  • hvega * test
  • ihaskell-hvega * test
  • libtorch-ffi * test
  • optparse-applicative * test
  • prehsept * test
  • terminal-progress-bar * test
  • text * test
  • time * test
docs/meta.json cpan