* Add support for TinyGrad model runner processing
Introduced a new function `is_tinygrad_model` to detect TinyGrad as an active model runner. Updated the `is_stock_model` logic to account for TinyGrad models and added a new process entry for TinyGrad in the model manager. This enables handling TinyGrad models alongside existing configurations.
adding modeld back
Add support for `modeld_v2` and update paths for consistency
Updated `SConscript` files to integrate `modeld_v2` alongside `modeld` and adjusted script paths for correct metadata handling. Adjusted various configurations and scripts, such as `labeler.yaml` and `build_release.sh`, to include `modeld_v2` and ensure cohesive project structure.
Refactor imports to use updated `modeld_v2` paths.
Replaced outdated `modeld` references with their `modeld_v2` counterparts for consistency and clarity across the codebase. Also updated `.gitignore` to accommodate new directory structure. This change ensures better maintainability and alignment with the new directory schema.
Refactor and reorganize modeld to sunnypilot/modeld_v2 structure.
Moved and renamed `modeld` components to the new `sunnypilot/modeld_v2` directory for better organization and modularity. Updated imports and file references to align with the new structure, ensuring compatibility and functionality. Streamlined project structure to improve maintainability and future development.
* typo
* Use `stock` model runner and refactor model checks.
Replaces outdated model detection logic with unified `stock` runner integration, simplifying the decision flow for model selection. Includes `stock` as a new enum in the `Runner` type and updates affected references accordingly.
* Handle missing 'sim_pose' in model outputs gracefully.
Added conditional checks to ensure the code handles cases where 'sim_pose' is absent in the model outputs. Fallback behaviors use 'plan' data when 'sim_pose' is unavailable, preventing potential errors and enhancing robustness.
* modeld: Retain pre-20hz drive model support
* Method not available anymore on OP
* some fixes
* Revert "Long planner get accel: new function args (#34288)"
* Revert "Fix low-speed allow_throttle behavior in long planner (#33894)"
* Revert "long planner: allow throttle reflects usage (#33792)"
* Revert "Gate acceleration on model gas press predictions (#33643)"
* Reapply "Gate acceleration on model gas press predictions (#33643)"
This reverts commit 76b08e37cb.
* Reapply "long planner: allow throttle reflects usage (#33792)"
This reverts commit c75244ca4e.
* Reapply "Fix low-speed allow_throttle behavior in long planner (#33894)"
This reverts commit b2b7d21b7b.
* Reapply "Long planner get accel: new function args (#34288)"
This reverts commit 74dca2fccf.
* don't need
* retain snpe
* wrong
* they're symlinks
* remove
* put back into VCS
* add back
* don't include built
* Refactor model runner retrieval with caching support
Added caching for active model runner type via `ModelRunnerTypeCache` to enhance performance and avoid redundant checks. Introduced a `force_check` flag to bypass the cache when necessary. Updated related code to handle cache clearing during onroad transitions.
* Update model runner determination logic with caching fix
Enhances `get_active_model_runner` to utilize caching more effectively by ensuring type consistency and updating cache only when necessary. Also updates `is_snpe_model` to pass the `started` state to the runner determination function, improving behavior for dynamic checks.
* default to none
* enable in next PR
* more
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
* modeld: Retain pre-20hz drive model support
* Method not available anymore on OP
* some fixes
* Revert "Long planner get accel: new function args (#34288)"
* Revert "Fix low-speed allow_throttle behavior in long planner (#33894)"
* Revert "long planner: allow throttle reflects usage (#33792)"
* Revert "Gate acceleration on model gas press predictions (#33643)"
* Reapply "Gate acceleration on model gas press predictions (#33643)"
This reverts commit 76b08e37cb.
* Reapply "long planner: allow throttle reflects usage (#33792)"
This reverts commit c75244ca4e.
* Reapply "Fix low-speed allow_throttle behavior in long planner (#33894)"
This reverts commit b2b7d21b7b.
* Reapply "Long planner get accel: new function args (#34288)"
This reverts commit 74dca2fccf.
* don't need
* retain snpe
* wrong
* they're symlinks
* remove
* put back into VCS
* add back
* don't include built
* Refactor model runner retrieval with caching support
Added caching for active model runner type via `ModelRunnerTypeCache` to enhance performance and avoid redundant checks. Introduced a `force_check` flag to bypass the cache when necessary. Updated related code to handle cache clearing during onroad transitions.
* Update model runner determination logic with caching fix
Enhances `get_active_model_runner` to utilize caching more effectively by ensuring type consistency and updating cache only when necessary. Also updates `is_snpe_model` to pass the `started` state to the runner determination function, improving behavior for dynamic checks.
* default to none
* enable in next PR
* more
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
* tinygrad with snpe
* force with snpe to validate
* fix path
* fix more paths
* Adjust modeld execution logic based on active model runner
Introduced a check to conditionally execute `modeld` based on the active model runner. Added support for distinguishing between SNPE and TinyGrad runners using new helper functions and updated `custom.capnp` definitions. This change optimizes process management by ensuring compatibility with the selected model runner.
* Refactor modeld process function checks.
Introduce `is_stock_model` to clarify logic and replace direct uses of `is_snpe_model` where the stock model condition is needed. Additionally, rename the duplicate "modeld" process in sunnyPilot to "modeld_snpe" for clarity and consistency.
* ignore tg
* fix process name
* ruff
* fix thneed paths
* mypy
* remove our own
* use upstream compile3
* fix thneed
* try this
* Revert "remove our own"
This reverts commit 1cf4f57502.
* try using compile2.py again
* add back symlink
* fix path
* more fix
* wrong path again
* Revert "wrong path again"
This reverts commit f5301c19d5.
* update
* hardcode path to our submodule
* force path
* try this
* fix file name
* try this
* again
* Revert "again"
This reverts commit 17c8cd7376.
* Revert "try this"
This reverts commit 767f78bbcf.
* Revert "fix file name"
This reverts commit 485eef68da.
* Revert "try this"
This reverts commit 41fef87680.
* Revert "force path"
This reverts commit 5c3b408937.
* Revert "hardcode path to our submodule"
This reverts commit 5ee1950b6f.
* Revert "update"
This reverts commit fb313bd7fb.
* Reapply "wrong path again"
This reverts commit 309639aeb3.
* Revert "wrong path again"
This reverts commit f5301c19d5.
* Revert "more fix"
This reverts commit 23dd423e78.
* Revert "fix path"
This reverts commit 75d338f2bd.
* Revert "add back symlink"
This reverts commit 9f71ad0b8a.
* Revert "try using compile2.py again"
This reverts commit 914117d2e1.
* Reapply "remove our own"
This reverts commit b1996377b3.
* don't even compile anymore
* need it for default snpe model
* add to lfs
* bring onnx back for sim
* must add this back
* need this
---------
Co-authored-by: DevTekVE <devtekve@gmail.com>
* Add CLion run configs and external tools setup
Introduced CLion configuration files for "Build Debug" and "Build Release," along with external tool definitions for Poetry SCons commands. Additionally, commented out `.idea` in `.gitignore` to track necessary project-specific settings.
* rename
* only exclude specific files from gitignore
* wildcard
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* 2eedcd90-b7db-46cb-86be-740f48ded7ab/700
* noop ciao
* here too
* mapsd too
* update translations
* disable mapsd test from test onroad
* disable mapRenderState test from timings
* lint
* fix exp mode toggle panel
* update tr
* french done
* dont build mapd
* only no nav
* just comment
* deprecate nav fields
* rm not comment
* dont deprecate too much
* remove from services
* merge cereal
old-commit-hash: 754dd45ffa
* WIP try modeld all in python
* fix plan
* add lane lines stds
* fix lane lines prob
* add lead prob
* add meta
* simplify plan parsing
* add hard brake pred
* add confidence
* fix desire state and desire pred
* check this file for now
* rm prints
* rm debug
* add todos
* add plan_t_idxs
* same as cpp
* removed cython
* add wfd width - rm cpp code
* add new files rm old files
* get metadata at compile time
* forgot this file
* now uses more CPU
* not used
* update readme
* lint
* copy this too
* simplify disengage probs
* update model replay ref commit
* update again
* confidence: remove if statemens
* use publish_state.enqueue
* Revert "use publish_state.enqueue"
This reverts commit d8807c8348338a1f773a8de00fd796abb8181404.
* confidence: better shape defs
* use ModelConstants class
* fix confidence
* Parser
* slightly more power too
* no inline ifs :(
* confidence: just use if statements
old-commit-hash: cad17b1255
* comma dir
* mkdir
* fix issues
* test
* fix that
* fix
* do the other ones too
* missed that
* fix
* fix pr comments by moving into two different directories
* fix location
* fix that
* only change current
* fix
old-commit-hash: c0b9458a45
* Revert "CI: prevent moc from running in cache population step (#29401)"
This reverts commit 34634b95aa15dc608315016c40857f3e16ca4ff9.
* Revert "SCons: respect cache read only (#29437)"
This reverts commit 77cb4da6381fdf94ea98c55d6fcc30db4d24dcf6.
* don't change moc path
old-commit-hash: 91dc8457ae
* Added navmodeld
* New nav model: 7c306685-5476-4bd4-ab65-105b01b6bca8/300, feats only
* little cleanup
* Remove NAV flag
* Moved to_kj_array_ptr to commonmodel.h
* Switch from decimation to last_frame_id check
* add to release files
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: bb8a38a050
* Try poetry
* Remove casadi for now
* Update docker
* Copy pipfiles
* add casadi back
* Too many slashes
* New poetry api
* Install system
* Try again
* No more pipenv
* new dependencies
* updates
* poetry 1.2.1, install dev dependencies
* keep install pipenv for xx for now?
* add pre-commit checks for poetry
* poetry lock is too slow
* update pip
* migrate to poetry groups
* update lockfile
* don't need to specify dev group unless it is made optional
* always install poetry
* set POETRY_VIRTUALENVS_CREATE instead, and use pipenv for xx
* use env for docs docker image
* alphabetical
* poetry 1.2.2
* add dev dependencies for typing
added in aacf6ae3
* remove constraint
* fix PIPENV_SYSTEM
* remove constraint
* don't need this here
* bump
* bump pipenv
adds support for installing local pyprojects (can add openpilot as dependency of xx)
* README improvements
* probably not necessary
* bump pip
* maybe not necessary?
* revert
* don't install openpilot itself into the virtual env
* remove PySide2 and shiboken2
reverts 3e41c775cbf670740ac648a8614d2d6b433312fe
* remove Pipenv, add xx dependencies, sync system python
* add pipenv as xx dep
* semver package constraints, use old lockfile versions
* fix casadi
* remove whitespace
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* disable poetry cache
* cleanup
* prefer config file
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: a98d105cb9
* compiling, won't work yet
* running with inputs and outputs
* there's some magic chance this works
* no more dlc, include onnx
* yolo tests plz
* bump tinygrad
* files_common + delete dlc
* tinygrad_repo -> tinygrad
* pre commit config
* llops needed
* extra in files_common
* bump tinygrad
* fix indent
* tinygrad/nn/__init__
* tinygrad_repo
* bump tinygrad repo
* bump tinygrad
* bump with native_exp, match maybe
* native_explog is argument
* pyopencl no cache
* 5% chance this matches
* work in float32?
* bump tinygrad
* fix build
* no __init__
* fix recip
* dumb hack
* adding thneed PC support
* fix pc segfault
* pc thneed is working
* to_image
* prints stuff with debug=2
* it sort of works
* copy host ptr is simpler
* bug fix
* build on c3
* this correct?
* reenable float16
* fix private, fixup copy_inputs internal
* bump tinygrad and update ref commit
* fix OPTWG on PC
* maybe fix non determinism
* revert model replay ref commit
* comments, init zeroed out buffers
* upd ref commit
* bump tinygrad to fix initial image
* try this ref
Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 40d6f4b65c
* All in scons
* delete all this
* delete the qm files
* No need to check QM files in test_translations.py anymore
* readme
* add lupdate to third party
* fix
* one line
* update files_common
* readme imp
* add j flag
* add to path
* duplicate scons!
* update readme
* fix path
fix path
fix path
* no path
old-commit-hash: c528decd17