-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce RealtimeSanitizer (RADSan) real-time safety checking #121
Introduce RealtimeSanitizer (RADSan) real-time safety checking #121
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #121 +/- ##
=======================================
Coverage 95.70% 95.70%
=======================================
Files 58 58
Lines 3891 3891
=======================================
Hits 3724 3724
Misses 167 167 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Moving the macro handling to config.h
is nice, and I think RTNEURAL_REALTIME
is probably the right name for the attribute macro.
I guess we could add the realtime attribute to the layer-level forward methods. I don't think it would make much difference for the testing, but maybe it could be useful for folks who are using RTNeural layers without the "Model" API?
Nice one, thanks @jatinchowdhury18 - agreed! I've just pushed up some additions of the attribute to the Layer methods that I think are intended to be real-time safe. Would you mind quickly double checking that I've understood them correctly, and haven't added the attribute to any methods that aren't intended to be real-time safe? |
Sure thing! Your additions look good to me. I hadn't really thought much about whether the methods used to set the layer weights were realtime-safe, but it's cool that they are! I guess that could be important if there's a situation where someone wants to "modulate" their layer weights or something like that. I'm ready to merge this PR if you are! |
Great! Yeah - super cool that the weights can be modulated - kind of like circuit bending for ML 🙃 Also, it could equally be really useful for controlling any highly interpretable differentiable elements that may live in the network, like a differentiable fader or something. Lots to play with, and I think RTNeural is really well placed in offering that option to creative developers! I'm happy for this MR to be merged if you are! Thanks for the review 🙏 |
0485da9
into
jatinchowdhury18:main
This PR does the following:
config.h
header file, in which all RTNeural preprocessor definitions are containedRTNEURAL_NAMESPACE
etc. have also been moved toconfig.h
in an attempt to be clean, but I'm very happy to move them back to theRTNeural.h
header if that's preferred![[clang::realtime]]
function attribute, configured behind a newRTNEURAL_REALTIME
macro-DRTNEURAL_ENABLE_RADSAN=ON
RTNEURAL_REALTIME
to the real-time methods ofModel
andModelT
A couple of questions from me:
RTNEURAL_REALTIME
a good enough name? Happy to change it to something else :)RTNEURAL_REALTIME
to the real-time methods of theLayer
implementations?