mirror of
https://github.com/infiniteCable2/openpilot.git
synced 2026-09-04 15:23:42 +08:00
acd46aa94b
* 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 76b08e37cb8eb94266ad9f6fed80db227e7c3428. * Reapply "long planner: allow throttle reflects usage (#33792)" This reverts commit c75244ca4e9c48084b0205b7c871e1a4e0f4e693. * Reapply "Fix low-speed allow_throttle behavior in long planner (#33894)" This reverts commit b2b7d21b7b685a2785d1beede3d223f0bb954807. * Reapply "Long planner get accel: new function args (#34288)" This reverts commit 74dca2fccf4da59cc8ac62ba9c0ad10ba3fc264b. * 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>
33 lines
719 B
C++
33 lines
719 B
C++
#include "sunnypilot/modeld/thneed/thneed.h"
|
|
|
|
#include <cassert>
|
|
|
|
#include "common/clutil.h"
|
|
#include "common/timing.h"
|
|
|
|
Thneed::Thneed(bool do_clinit, cl_context _context) {
|
|
context = _context;
|
|
if (do_clinit) clinit();
|
|
char *thneed_debug_env = getenv("THNEED_DEBUG");
|
|
debug = (thneed_debug_env != NULL) ? atoi(thneed_debug_env) : 0;
|
|
}
|
|
|
|
void Thneed::execute(float **finputs, float *foutput, bool slow) {
|
|
uint64_t tb, te;
|
|
if (debug >= 1) tb = nanos_since_boot();
|
|
|
|
// ****** copy inputs
|
|
copy_inputs(finputs);
|
|
|
|
// ****** run commands
|
|
clexec();
|
|
|
|
// ****** copy outputs
|
|
copy_output(foutput);
|
|
|
|
if (debug >= 1) {
|
|
te = nanos_since_boot();
|
|
printf("model exec in %lu us\n", (te-tb)/1000);
|
|
}
|
|
}
|