Descriptionschedule YAML generator issue in 6.0.10

Please provide the following info (tick the boxes after creating this topic):
Software Version
[*] DRIVE OS 6.0.10.0
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
[*] Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
[*] DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
2.1.0
[*] other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
[*] native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

Issue Description
descriptionScheduleYAMLGenerator doesnt work properly with the upgraded versions of DRIVE OS. the driveworks directory structure is changed, and hence the newer versions’ tool searches for nodes and graphlets in a different location, which doesnt make any sense.

Error String
root@6.0.10.0-0009-build-linux-sdk:/usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator# ./descriptionScheduleYamlGenerator.py --app MiniPipeline.app.json --output minipipleschedule.yaml
Input Description file path: /usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator/MiniPipeline.app.json

Analysis…
Traceback (most recent call last):
File “./descriptionScheduleYamlGenerator.py”, line 3260, in
main()
File “./descriptionScheduleYamlGenerator.py”, line 3188, in main
systemDescription = SystemDescription(appFile)
File “./descriptionScheduleYamlGenerator.py”, line 3123, in init
self.schedules = [
File “./descriptionScheduleYamlGenerator.py”, line 3124, in
ScheduleDescription(self.baseDir, stmSchedule, stmScheduleKey, identifier, stmScheduleKey == defaultStmScheduleKey, self)
File “./descriptionScheduleYamlGenerator.py”, line 1585, in init
self.subcomponents[graphletId] = GraphletDescription(graphletId, grapheletFile, self)
File “./descriptionScheduleYamlGenerator.py”, line 2914, in init
self.subcomponents = self.parseSubComponents(graphletJson[SUBCOMPONENTS])
File “./descriptionScheduleYamlGenerator.py”, line 2937, in parseSubComponents
component = GraphletDescription(componentFullId, fixPath(componentType, self.baseDir), self)
File “./descriptionScheduleYamlGenerator.py”, line 2914, in init
self.subcomponents = self.parseSubComponents(graphletJson[SUBCOMPONENTS])
File “./descriptionScheduleYamlGenerator.py”, line 2939, in parseSubComponents
component = NodeDescription(componentFullId, fixPath(componentType, self.baseDir), self)
File “./descriptionScheduleYamlGenerator.py”, line 2781, in init
nodeFile = FileValidation.validate(nodeFile, self.type.name.lower())
File “./descriptionScheduleYamlGenerator.py”, line 1463, in validate
raise ValueError(‘Description file does not exist in both paths:\n’ + 'fileName0: ’ + fileName0 + ‘\n’ + 'fileName1: ’ + fileName1 + ‘\n’)
ValueError: Description file does not exist in both paths:
fileName0: /usr/local/src/dwframework/dwnodes/sensors/dwcameranode/dwCameraNode.node.json
fileName1: /usr/local/src/dwframework/dwnodes/sensors/dwcameranode/dwCameraNode.node.json

root@6.0.10.0-0009-build-linux-sdk:/usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator# cd …/…
root@6.0.10.0-0009-build-linux-sdk:/usr/local/driveworks-5.20# find -name “dwCameraNode.node.json”
./src/dwframework/dwnodes/sensors/dwcameranode/dwCameraNode.node.json
root@6.0.10.0-0009-build-linux-sdk:/usr/local/driveworks-5.20#

Logs
Provide logs in text box instead of image

Please paste the complete application log here. If there are multiple logs, please use multiple text box

Dear @ashwin.nanda,
Could you quickly test using tool like in [BUG] the descriptionScheduleYamlGenerator.py from 6.0.8.1 output nothing with MiniPipeline.app.json - #8 by SivaRamaKrishnaNV and update ?

I notice no issue and below is the output log.

root@6.0.10.0-0009-build-linux-sdk:/home/nvidia# /usr/local/driveworks/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py --app /usr/local/driveworks/apps/minipipeline/applications/MiniPipeline.app.json --output ./MiniPipeline__standardSchedule.yaml
Input Description file path: /usr/local/driveworks/apps/minipipeline/applications/MiniPipeline.app.json
=============================
Analysis...
=============================
Generating...
Schedules requested to generate [PosixPath('/home/nvidia/MiniPipeline__standardSchedule.yaml')]
Some runnable names in /usr/local/driveworks-5.20/apps/minipipeline/applications/MiniPipeline_wcet.yaml use legacy format - consider updating them to the current format:
- mainClient.miniPipeline_camera1_cameraNode_pass_0 -> mainClient.miniPipeline.camera1.cameraNode.SETUP
- mainClient.miniPipeline_camera1_cameraNode_pass_1 -> mainClient.miniPipeline.camera1.cameraNode.RAW_OUTPUT
- mainClient.miniPipeline_visualization_pass_0 -> mainClient.miniPipeline.visualization.SETUP
- mainClient.miniPipeline_camera1_cameraNode_pass_2 -> mainClient.miniPipeline.camera1.cameraNode.PROCESSED_OUTPUT
- mainClient.miniPipeline_camera0_cameraNode_pass_0 -> mainClient.miniPipeline.camera0.cameraNode.SETUP
- mainClient.miniPipeline_visualization_pass_1 -> mainClient.miniPipeline.visualization.ACQUIRE_FRAME
- mainClient.miniPipeline_visualization_pass_2 -> mainClient.miniPipeline.visualization.RENDER_FRAME
- mainClient.miniPipeline_visualization_pass_3 -> mainClient.miniPipeline.visualization.RENDER_INFO_BAR
- mainClient.miniPipeline_camera1_cameraNode_pass_3 -> mainClient.miniPipeline.camera1.cameraNode.PROCESSED_RGBA_OUTPUT
- mainClient.miniPipeline_visualization_pass_4 -> mainClient.miniPipeline.visualization.RENDER_DEBUG
- mainClient.miniPipeline_visualization_pass_5 -> mainClient.miniPipeline.visualization.TEARDOWN
- mainClient.miniPipeline_camera1_cameraNode_pass_4 -> mainClient.miniPipeline.camera1.cameraNode.TEARDOWN
- mainClient.miniPipeline_camera0_cameraNode_pass_1 -> mainClient.miniPipeline.camera0.cameraNode.RAW_OUTPUT
- mainClient.miniPipeline_camera0_cameraNode_pass_2 -> mainClient.miniPipeline.camera0.cameraNode.PROCESSED_OUTPUT
- mainClient.miniPipeline_camera0_cameraNode_pass_3 -> mainClient.miniPipeline.camera0.cameraNode.PROCESSED_RGBA_OUTPUT
- mainClient.miniPipeline_radarSensor0_radarNode_pass_0 -> mainClient.miniPipeline.radarSensor0.radarNode.SETUP
- mainClient.miniPipeline_camera0_cameraNode_pass_4 -> mainClient.miniPipeline.camera0.cameraNode.TEARDOWN
- mainClient.miniPipeline_radarSensor0_radarNode_pass_1 -> mainClient.miniPipeline.radarSensor0.radarNode.RAW_OUTPUT
- mainClient.miniPipeline_radarSensor1_radarNode_pass_0 -> mainClient.miniPipeline.radarSensor1.radarNode.SETUP
- mainClient.miniPipeline_radarSensor1_radarNode_pass_1 -> mainClient.miniPipeline.radarSensor1.radarNode.RAW_OUTPUT
- mainClient.miniPipeline_radarSensor0_radarNode_pass_3 -> mainClient.miniPipeline.radarSensor0.radarNode.TEARDOWN
- mainClient.miniPipeline_radarSensor1_radarNode_pass_2 -> mainClient.miniPipeline.radarSensor1.radarNode.PROCESSED_OUTPUT
- mainClient.miniPipeline_radarSensor0_radarNode_pass_2 -> mainClient.miniPipeline.radarSensor0.radarNode.PROCESSED_OUTPUT
- mainClient.miniPipeline_radarSensor1_radarNode_pass_3 -> mainClient.miniPipeline.radarSensor1.radarNode.TEARDOWN
Yaml schedule generated : standardSchedule : 0 : /home/nvidia/MiniPipeline__standardSchedule.yaml
=============================
Json description to Yaml schedule file done.
root@6.0.10.0-0009-build-linux-sdk:/home/nvidia# ls
MiniPipeline__standardSchedule.yaml

I tried running the script as you mentioned still cannot see any file generated

root@6.0.8.1-0006-build-linux-sdk:/home/nvidia# /usr/local/driveworks-5.14/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py --app /usr/local/driveworks-5.14/apps/minipipeline/applications/MiniPipeline.app.json --output ./MiniPipeline_standardSchedule.yaml
Input Description file path: /usr/local/driveworks-5.14/apps/minipipeline/applications/MiniPipeline.app.json
Output schedule directory path: /home/nvidia/
=============================
Analysis...
=============================
Generating...
=============================
Json description to Yaml schedule file done.
root@6.0.8.1-0006-build-linux-sdk:/home/nvidia# ls -al
total 8
drwxr-xr-x 2 root root 4096 Sep 10 09:34 .
drwxr-xr-x 1 root root 4096 Sep 10 09:34 ..
root@6.0.8.1-0006-build-linux-sdk:/home/nvidia# 

on 6.0.10 as well

root@6.0.10.0-0009-build-linux-sdk:/home/nvidia# /usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py --app /usr/local/driveworks-5.20/apps/minipipeline/applications/MiniPipeline.app.json --output ./MiniPipeline_standardSchedule.yamlInput Description file path: /usr/local/driveworks-5.20/apps/minipipeline/applications/MiniPipeline.app.json
=============================
Analysis...
=============================
Generating...
Schedules requested to generate [PosixPath('/home/nvidia/MiniPipeline_standardSchedule.yaml')]
Traceback (most recent call last):
  File "/usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py", line 3260, in <module>
    main()
  File "/usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py", line 3223, in main
    raise RuntimeError(f"Requested creation of schedules {missing_outputs} that are not available in the system description {[name for _,name in schedules_and_names]}")
RuntimeError: Requested creation of schedules ['MiniPipeline_standardSchedule.yaml'] that are not available in the system description ['MiniPipeline__standardSchedule.yaml']

Dear @ashwin.nanda,
This is strange. Did you modify the input MiniPipeline.app.json? I don’t see issue with default MiniPipeline.app.json.

Hi,
Not really, minipipeline.app.json was just to test the tool, I am trying to integrate HelloWorldNode to CGFDemo on 6.0.8, which I mentioned earlier, so tried on 6.0.10 with both the app.json present in Driveworks-5.20, output for CGFDemo.app.json:

root@6.0.10.0-0009-build-linux-sdk:/home/nvidia# /usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py --app /usr/local/driveworks-5.20/apps/cgf_demo/CGFDemo.app.json --output /home/nvidia/CGFDemo__standardSChedule.yaml
Input Description file path: /usr/local/driveworks-5.20/apps/cgf_demo/CGFDemo.app.json
=============================
Analysis...
=============================
Generating...
Schedules requested to generate [PosixPath('/home/nvidia/CGFDemo__standardSChedule.yaml')]
Traceback (most recent call last):
  File "/usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py", line 3260, in <module>
    main()
  File "/usr/local/driveworks-5.20/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py", line 3223, in main
    raise RuntimeError(f"Requested creation of schedules {missing_outputs} that are not available in the system description {[name for _,name in schedules_and_names]}")
RuntimeError: Requested creation of schedules ['CGFDemo__standardSChedule.yaml'] that are not available in the system description ['CGFDemo__slowSchedule.yaml', 'CGFDemo__standardSchedule.yaml']
root@6.0.10.0-0009-build-linux-sdk:/home/nvidia# 

Dear @ashwin.nanda,
I suspect some issue in your setup. Could you test on other host or remove the docker image and download again to test?

tried on a different host

Dear @ashwin.nanda ,
Could you double check the absolute path of app.json file? I don’t see MiniPipeline folder in my command.

Hi @SivaRamaKrishnaNV tried on a fresh instance of docker: now reinstalling the image.

root@6.0.8.1-0006-build-linux-sdk:/home/nvidia# /usr/local/driveworks-5.14/tools/descriptionScheduleYamlGenerator/descriptionScheduleYamlGenerator.py --app /usr/local/dri
veworks-5.14/apps/minipipeline/applications/MiniPipeline.app.json --output ./Minipipeline__standardSchedule.yaml
Input Description file path: /usr/local/driveworks-5.14/apps/minipipeline/applications/MiniPipeline.app.json
Output schedule directory path: /home/nvidia/
=============================
Analysis...
=============================
Generating...
=============================
Json description to Yaml schedule file done.
root@6.0.8.1-0006-build-linux-sdk:/home/nvidia# ls -al
total 8
drwxr-xr-x 2 root root 4096 Sep 16 11:03 .
drwxr-xr-x 1 root root 4096 Sep 16 11:03 ..

I see typo. Please use MiniPipeline__standardSchedule.yaml

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.