-
Notifications
You must be signed in to change notification settings - Fork 91
aarch64: Remove computation cache from conv, matmul, inner product #357
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
base: ideep_pytorch
Are you sure you want to change the base?
Conversation
@@ -35,7 +35,7 @@ struct inner_product_forward_params { | |||
struct inner_product_forward | |||
: public dnnl::inner_product_forward, | |||
#ifdef __aarch64__ |
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.
Will we ever hit a case when oneDNN is not built with ACL on Arm platform and this code would crash. Same for other instances where this is used
include/ideep/lru_cache.hpp
Outdated
class dummy_computation_cache { | ||
public: | ||
static inline dummy_lru t_store() { | ||
return dummy_lru(); |
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.
Returning by value? Can we verify that no code is binding by ref or expects similar semantic to real cache.
return dummy_lru(); | |
static dummy_lru store; | |
return store; |
param.pd = primitive_desc( | ||
aengine, src_desc, weights.get_desc(), dst_desc, op_attr); | ||
} | ||
param.primitive = std::move(super(param.pd)); |
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.
is move redundant on temporary data? I am doubtful of my comment and needs suggestions from author
conv, matmul and inner product have been converted to being stateless in ACL, thus there is no longer a need for the computation cache. This has been replaced with a placeholder cache as the cache is still expected to exist. The placeholder cache can be removed once deconv is also converted to stateless. No change in performance.
b1eb174
to
58508ec
Compare
conv, matmul and inner product have been converted to being stateless in ACL, thus there is no longer a need for the computation cache. This has been replaced with a dummy cache as the cache is still expected to exist. The dummy cache can be removed once deconv is also converted to stateless.