ONE-vscode
ONE-vscode copied to clipboard
[Draft] ExecutionEnv with view update
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
I update this as to use Env as a Device, but add a one concept about this.
I think it need to add component to handle Host(which means connected host, in case local or remote).
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
I think I need to comment about some terms
- ExecutionEnvManager
This means HostPC where Device(ExecutionEnv) connected.
so, it will execute real command on this. so it will use either bash or ssh.
it will contains ExecutionEnv which connected on this.
- ExecutionEnv (=Device)
This means real Device which inference or real action occur.
but, we can't directly access to this device, so it just throw command to ExecutionEnvManager.
it will contains Executors which this device could use.
- Executor
Currently defined executor.
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
Could you explain what 'Device' means in your code?
- I think some H/W device such as TV can be a
Device
. Is this correct? - How about S/W thing such as simulator? Can a simulator be a
Device
? - How about a PC that connects many TVs? Can PC be a
Device
? - As far as I know,
executor
is a concept of commands such as ssh command to invoke, e.g., inference. In the code, an executor also considered as aDevice
(DeviceNode
can have a node type ofexecutor
). Could you let us the reason why an executor can also be aDevice
?
Could you explain what 'Device' means in your code?
- I think some H/W device such as TV can be a
Device
. Is this correct?
right. I thought all H/W could be device.
- How about S/W thing such as simulator? Can a simulator be a
Device
?
I thought simulator is combination of Device(ExecutionEnv
) and S/W(Executor
), which HostPC and some simulator S/W
- How about a PC that connects many TVs? Can PC be a
Device
?
Yes. but on list, it will display all TV and single PC component.
- As far as I know,
executor
is a concept of commands such as ssh command to invoke, e.g., inference. In the code, an executor also considered as aDevice
(DeviceNode
can have a node type ofexecutor
).
um... I thought Executor just display on DeviceView to show which Device could use which Executor. but follow from your opinion, it makes people confused about this.
Could you let us the reason why an executor can also be a
Device
?
No, Device(ExecutionEnv
) will refer this when it does some actions. and I add that under Device(ExecutionEnv
) to show which one could be used.
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
if anyone have a new idea about this, I will make this into small PR!
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
um....what about split executor
from backend
?
on My local linux, it look like this.
um....what about split executor from backend?
if you feel necessary, you can do it with some reasonable reasons and discussion together.
https://github.com/Samsung/ONE-vscode/pull/754#discussion_r893178019
This will help to understand this.
Through the offline meeting, I could understand the code better.
The hierarchy(?) of these classes is like below (according to what I understand):
LocalEnvManager(ExecutionEnvManager) (e.g., Local linux machine, remote ssh linux machine)
- HostPCEnv(ExecutionEnv)
- Device (1 Device : 1 ExecutionEnv) (No matching class were found in this PR.)
- TizenEnv(ExecutionEnv)
- Device
We still need to think more about the executor
.
I drew the class diagram for this PR.
I'm not sure I understand exactly. If there is something wrong, please update it. :) executor_uml.zip
:heavy_check_mark: No License Issues Found
Detailed Result
ubuntu-latest
:heavy_check_mark: No license issue found
windows-latest
:heavy_check_mark: No license issue found
macos-latest
:heavy_check_mark: No license issue found
Through the offline meeting, I could understand the code better.
The hierarchy(?) of these classes is like below (according to what I understand):
LocalEnvManager(ExecutionEnvManager) (e.g., Local linux machine, remote ssh linux machine) - HostPCEnv(ExecutionEnv) - Device (1 Device : 1 ExecutionEnv) (No matching class were found in this PR.) - TizenEnv(ExecutionEnv) - Device
We still need to think more about the
executor
.I drew the class diagram for this PR.
I'm not sure I understand exactly. If there is something wrong, please update it. :) executor_uml.zip
exactly right! Thanks for make this UML
I will make lower-part(about ExecutionEnv
part) into small piece of PRs for this sprint
A little bit worried about Executor
attached on Backend
. if one-infer
introduced, no need to know backend to run inference or profile using Executor
I and @struss discussed the design and I draft https://github.com/Samsung/ONE-vscode/pull/816.