Metadata-Version: 2.4
Name: femtocrux
Version: 3.6.0
Summary: Femtosense Compiler
Home-page: https://github.com/femtosense/femtocrux
Author: Femtosense
Author-email: info@femtosense.ai
Project-URL: Source, https://github.com/femtosense/femtocrux
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Cython
Requires-Dist: docker
Requires-Dist: fmot<4.0.0,>=1.9.2
Requires-Dist: grpcio>=1.64.1
Requires-Dist: grpcio-tools>=1.64.1
Requires-Dist: numpy>=1.18.0
Requires-Dist: protobuf
Requires-Dist: passlib
Requires-Dist: requests<2.29.0
Requires-Dist: urllib3<2.0.0,>=1.26.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiRGpDOFpEOXF1M0prSy9OOVNkZ3F2NkRKM0NNMG8xbmpZU0hZdUp1ejhHOEswdDRhOEZOakMrdWZyaHp1WGVtQ1lVTStzRUpXaFlYeFZPSEJFd21NdjF3PSIsIml2UGFyYW1ldGVyU3BlYyI6InJZYzhuZ3d3a1FUUzBzM0kiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master)

# femtocrux

Compiler API for the Femotsense Sparse Processing Unit (SPU).

This package drives compilation of machine learning models to SPU binaries, as well as simulation of those binaries on SPU hardware.

The package itself is a thin Python wrapper communicating to the actual compiler / simulator via gRPC.

Supported ML model representations:
 - Femtosense Quantized IR (FQIR)

## Installation

You will need to install `femtocrux` and `femtodriver` to compile models to run on the SPU and to run simulations to
get power metrics.

You will need to have python `3.10` and Docker installed.
Install Docker by following [these instructions](https://docs.docker.com/get-docker/).

femtocrux is available on PyPI via

```
pip install femtocrux
```

femtodriver is also available on PyPI via

```
pip install femtodriver
```

## Usage

Please refer to the documentation in the [e2e walkthrough](https://femtocrux.femtosense.ai/en/latest/e2e_example/e2e_example.html) for a full example of how to create a model in pytorch, use femtodriver to compile program files
to run on the SPU, and for how to run simulations of the model to get power estimates.

If you want more detailed documentation of all the options you can use to compile and simulate with please refer to
the [femtodriver documentation](https://pypi.org/project/femtodriver/).
```
