Commit Graph

87 Commits

Author SHA1 Message Date
Willem Melching cd6ec8211c larch64 modeld fixes (#2086) 2020-08-26 17:18:05 +02:00
Dean Lee 727055e0a0 remove device_id&context from ModelFrame (#2064) 2020-08-24 14:04:52 +02:00
Dean Lee de7b901dc1 move matmul3 into live_thread (#2069) 2020-08-24 14:00:00 +02:00
Dean Lee f8ab6bd009 ui: refactor model related functions (#2026)
* remove read_model

* remove structs for c-capnp

* remove duplicate #define from modeld

* add function fill_path_points

* fix Indentation

* use MODEL_PATH_DISTANCE instead of 192

* fix type

use validLen

* rename left_path_points&right_path_points to xxx_lane_points
2020-08-18 15:26:43 +02:00
Dean Lee d158837617 add function cl_get_device_id (#1948)
* add func cl_get_device_id

cleanup

* add fix from review
2020-08-17 11:24:39 +02:00
Dean Lee 36801a70eb init and destroy transform_lock (#2003) 2020-08-16 16:31:53 -07:00
Dean Lee cccb63229d fix bug that visionstream_destroy may be called twice (#1999) 2020-08-08 15:50:36 -07:00
Dean Lee ef435ef2ac Make sure memory is released by using unique_ptr (#1958) 2020-08-05 12:27:56 +02:00
Dean Lee f80acad519 modeld: read frame_id if sm.update(0)>0 (#1947)
* read frameid if sm.update(0)>0

* move postion

same line
2020-08-01 11:01:43 -07:00
ZwX1616 2cfa0edb4c EfficientNet driver monitoring (#1907)
* e96f9be6

* bump cereal

* filter sunglasses

* fix unittest

* update refs

* udpate refs

* update refs

* add tolerance for dmonitoringd

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-07-27 20:22:06 -07:00
Adeeb Shihadeh 5db81f60ca Fix most remaining LGTM alerts (#1893)
* fixups from LGTM

* short globals

* fix spinner and textwindow

* total ordering

* no spinner/text window when import from manager

* not android
2020-07-19 16:12:22 -07:00
Adeeb Shihadeh 35a5b057c1 minor cleanups from LGTM 2020-07-17 23:34:38 -07:00
ZwX1616 c2be31c10b Revert "EfficientNet driver monitoring (#1866)"
This reverts commit 2d0e994674.

Need to fix test
2020-07-17 18:20:04 -07:00
ZwX1616 2d0e994674 EfficientNet driver monitoring (#1866)
* e96f9be6

* bump cereal

* filter sunglasses

* fix unittest

* update refs

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-07-17 15:34:02 -07:00
Adeeb Shihadeh 58c3b5ba84 Revert modeld vipc conflate behavior and alert on dropped frame percent (#1877)
* Revert "Fix modeld dropping frames if processing takes over 50 ms"

This reverts commit a8e7a187ca.

* track frame drop

* fix unused

* alert on frame drop perc

* reduce thresholds

* posenet is invalid on non-consecutive frames

* Refactor filter time constant

* Use vipc_dropped_frames for posenet valid check

* Actually set frame drop percentage

* Add explicit cast just to be sure

* Prevent frames dropped to go up to quickly on startup

* bump cereal

* reduce soft disable threshold to 1%

Co-authored-by: Willem Melching <willem.melching@gmail.com>
2020-07-14 14:23:27 -07:00
Adeeb Shihadeh 704bc1b883 small scons cleanup (#1858) 2020-07-10 15:26:16 -07:00
Adeeb Shihadeh c8f3ff8913 only check frame age for posenet too 2020-07-09 20:55:56 -07:00
Adeeb Shihadeh 587bdf5937 only check frame age for model validity 2020-07-09 20:37:28 -07:00
Adeeb Shihadeh 03e824a4b5 Alert when modeld is lagging by more than a frame (#1823)
* alert when modeld is lagging by more than 1 frame

* log frameAge in modelData

* set posenet valid

* compute frame_age once
2020-07-09 17:02:21 -07:00
Adeeb Shihadeh eb1aa3d831 Wunused (#1841)
* enable Wunused, first pass

* unused stuff in snpe model

* these are used on phone

* handle sigint and sigterm in modeld

* fix phone build

* camera qcom

* QCOM build works

* delete unused camerad vars

Co-authored-by: Comma Device <device@comma.ai>
2020-07-09 09:25:32 -07:00
Willem Melching 5e10efead1 Fix unsigned overflow in modeld frame age computation 2020-06-22 19:31:57 -07:00
Willem Melching 88f9266378 Make model packets invalid when frames are too old (#1759)
* make model packets invalid when frames are too old

* add frame numbers to cloudlog
2020-06-22 14:27:58 -07:00
Willem Melching a8e7a187ca Fix modeld dropping frames if processing takes over 50 ms 2020-06-19 16:57:28 -07:00
George Hotz 01a486308d c++ify thneed to remove memory leaks (#1737)
Co-authored-by: Comma Device <device@comma.ai>
2020-06-19 15:53:48 -07:00
Dean Lee c8082190a0 release resources in modeld (#1700) 2020-06-19 11:38:39 -07:00
Jason Young 80101b350b modeld process time logging to DEBUG (#1720)
Co-authored-by: Jason Young <jason@comma.ai>
2020-06-16 10:36:04 -07:00
Willem Melching 4ca8283d73 Modeld: loop over platforms to find CPU/GPU (#1710)
* Modeld: loop over platforms to find gpu

* Remove prints

* PC needs CPU

* Keep default for qcom

* Update error message
2020-06-15 15:58:12 -07:00
George Hotz 344a9a3699 Fixups for Mac, and a bunch for PC (#1654)
* fix mac nui

* fix cereal

* builds on mac without warnings

* ui swap shouldn't be instant on pc

* camerad builds on mac

* modeld, and now everything, builds on mac

* ui draws pictures on mac now

* fix camerad shutdown

* support ui looping on pc

* python3 on that

* SCNu64 should be cross platform

* bump cereal and new apk

* clean up

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2020-06-11 18:21:59 -07:00
Jason Young ec5fc0e92b Update realtime priority for modeld/dmonitoringd (#1675) 2020-06-10 17:40:22 -04:00
Dean Lee 90d97de74d add function read_db_bytes (#1662) 2020-06-09 13:46:49 -07:00
George Hotz 7770041f92 Getting PC openpilot working again (#1650)
* fixup keras_runner to work and be nicer

* truncate the lane lines based on the valid len
2020-06-05 17:40:56 -07:00
Dean Lee c7ff6dd194 pass DMonitoringResult as referer (#1639) 2020-06-05 12:42:01 -07:00
Adeeb 367155168a Update Flake8 config (#1624)
* update flake8 checks

* add E502

* no whitespace warnings

* fix violations

* no W391

Co-authored-by: Jason Young <jason@comma.ai>
2020-06-03 16:13:34 -07:00
George Hotz 4e7fe3a9ec save valid_len 2020-06-03 14:18:42 -07:00
Adeeb ab83e48ec4 Add pre-commit hooks (#1629) 2020-06-03 12:54:49 -07:00
Willem Melching 843a64c72f Make pylint more strict (#1626)
* make pylint more strict

* cleanup in progress

* done cleaning up

* no opendbc
2020-06-02 16:29:32 -07:00
Dean Lee cdb48cc180 dmonitoring : use memory cache to avoid malloc/free on every frame (#1599)
* use memory cache

* use template function to return buffer

* inline function

* const size_t

* use std::vector instead of kj::array
2020-06-01 14:00:43 -07:00
Adeeb Shihadeh f3dcf861c7 enable flake8 E303: too many blank lines 2020-05-31 17:21:11 -07:00
Adeeb Shihadeh 27754a277c enable E261 in flake8: two spaces before inline comment 2020-05-31 14:07:29 -07:00
Adeeb Shihadeh efd5dffb1e enable flake8 E231: missing whitespace after comma 2020-05-31 12:49:11 -07:00
Dean Lee af36aa28ab driving.cc: Pass ModelDataRaw by reference (#1600)
* pass ModelDataRaw by reference

* pass NVGpaint by refer
2020-05-30 10:08:44 -07:00
Willem Melching ba2ac1207a Running pre-commit in CI (#1590)
* Running pre-commit in CI

* fix dockerfile syntax

* dont run on submodule repo folders

* Fix some import errors in ci

* more stuff

* That should be the last one
2020-05-28 15:40:48 -07:00
Willem Melching 50f3f1d335 -Werror (#1567)
* werror

* -Wno-inconsistent-missing-override

* Silence ffmpeg deprecation warnings

* add some more pragmas to ignore warnings

Co-authored-by: Comma Device <device@comma.ai>
2020-05-26 13:27:01 -07:00
Dean Lee d5858955ee reduce the scope of mutex (#1561) 2020-05-26 09:57:14 -07:00
George Hotz b8571710e0 remove the clCreateProgramWithSource interceptor (#1559)
* remove the clCreateProgramWithSource interceptor

* that's old code, thneed is better

* label them thneed_, we shouldn't need to touch CL for anything not SNPE related
2020-05-24 03:33:36 -07:00
Willem Melching ab5af232b2 Use C++ version of SubMaster and PubMaster (#1548)
* add PubMaster & SubMaster

remove 'delete msg'

remove headers

* use constructor to initial all submster

* modify drain sockets

* fix typo in ssconscript.remove lines

no checkValid in loggerd

last modify

handle_message:event->&event

fix type

remove heads

event to auto

* new interface

* api changed

* Revert "use constructor to initial all submster"

This reverts commit 73be7ea46250a325ce41d3a0445e34395a2ae692.

* change to new api

* revert loggerd

* dd

* use new PubSub api

* update to new interface

don't modify loggerd

reset panda

reset opendbc

remove empty lines

* switch to new pubMaster

* update to the new inteface

change

remove error code

. to ->

merge paramsd.cc

update panda

fix typo

simplify

fix typo

* Fix build

* always conflate

Co-authored-by: deanlee <deanlee3@gmail.com>
2020-05-21 16:04:33 -07:00
George Hotz 6c0ad1e675 add thneed self test (#1535)
* add thneed self test

* don't do the memset in thneed, shouldn't matter though

Co-authored-by: Comma Device <device@comma.ai>
2020-05-18 11:34:29 -07:00
Comma Device 495e0c4648 wtf, how was that commented out and the tests still passed 2020-05-18 17:10:39 +00:00
George Hotz 78a352a8ca This isn't bigmodel, but there's a lot of good stuff here (#1532)
* bigmodel

* more debug print

* debugging bigmodel

* remove the tanh, debugging

* print images/buffers

* disassemble the command queues

* decompiler

* dump the shaders

* full disasm

* support patching kernel and fixing convolution_horizontal_reduced_reads_1x1

* microbenchmark

* 42 GFLOPS, 1 GB/s

* gemm benchmark

* 75 GFLOPS vs 42 GFLOPS

* 115 GFLOPS

* oops, never mind

* gemm image is slow

* this is pretty hopeless

* gemm image gets 62 GFLOPS

* this is addictive and still a waste of time

* cleanup cleanup

* that hook was dumb

* tabbing

* more tabbing

Co-authored-by: Comma Device <device@comma.ai>
2020-05-17 23:13:17 -07:00
George Hotz 302d06ee70 thneed saves 45% of a core (#1512)
* thneed runs the model

* thneed is doing the hooking

* set kernel args

* thneeding the bufferS

* print the images well

* thneeds with better buffers

* includes

* disasm adreno

* parse packets

* disasm works

* disasm better

* more thneeding

* much thneeding

* much more thneeding

* thneed works i think

* thneed is patient

* thneed works

* 7.7%

* gpuobj sync

* yay, it mallocs now

* cleaning it up, Thneed

* sync objs and set power

* thneed needs inputs and outputs

* thneed in modeld

* special modeld runs

* can't thneed the DSP

* test is weird

* thneed modeld uses 6.4% CPU

* add thneed to release

* move to debug

* delete some junk from the pr

* always track the timestamp

* timestamp hacks in thneed

* create a new command queue

* fix timestamp

* pretty much back to what we had, you can't use SNPE with thneed

* improve thneed test

* disable save log

Co-authored-by: Comma Device <device@comma.ai>
2020-05-15 13:53:01 -07:00