Hi All! I am having a a really difficult time setting up my development environment so I can develop two kinds of apps. I have no problem setting up the preloaded Ubuntu environment on the Jetson. The problem comes in when trying to setup the host. I have looked all over and I was unable to find a comprehensive guide to setting up the host. If any can point me to docs which describe what the host should be and how to set it up, I would be eternally grateful. I was to do two things:
I would like to be able to develop CUDA apps in the C/C++ and Python and execute them on the Jetson.
I want to be able to develop Python apps for Deep Learning using frameworks like TensorFlow, Keras, OpenCV, numpy, etc and then run them on the Jetson.
I want to use the advanced development tools. (i.e. not a stripped down compiler and downloader)
Here is a list questions related to this effort:
The high level question whether I am required to have a dedicated Ubuntu O/S running on a host machine to develop the above or can I use a Windows host? It seems crazy to walk away from a standard environment. Running embedded linux makes sense because it is open source and you would be taking a huge risk building an embedded system software which you do not have the source to. It seems to violate the law of least surprise.
Cross compilers are mentioned for compile/linking of CUDA apps, but I can’t find them. They do not appear to be in the CUDA toolset. The point of a cross compiler is separate develop from the target environment. If the toolchain has to run under the same o/s as the embedded applications, then it would seem to invalidate the need for a cross compiler (assuming that you have enough memory on the destination system.)
With every embedded system I have worked with over the years, having access to the technical data sheets (whitepapers or reference manuals) for the processors and devices, and the actual embedded system, Jetson TX2, etc. was always an essential. They contained instructions, timing, micro-architecture, programming. It was my understanding the Jetson TX2 was GPU evaluation board. Any ideas where this info could be found?
In terms of what is needed, I would appreciate any advice you can provide on hardware/software assuming that a standalone host machine.
Host System ram(Gb)?
Host CPU cores?
Can a 1000Mb be used in place of the USB interface?
What version of the software for C/C++, python, CUDA all work together?
What version of Ubuntu should I use?
For the C/C++ software, should I use MSVC or some other IDE?
IF so, how is the toolset integrated into IDE?
What does the development cycle look like?
Which Python env and version should I use (C++11/14, Python 3)?
Can Ubuntu be installed on an existing Windows system by creating and resizing partitions?
Is it possible to install the dev tools on 32mb flash card?
Where can I find information that shows the layout of the software components?
Is there any tools available
Please feel free to provide any comments or links to information which you think would be helpful.
Thanks in advance for taking the time to provide information. It will not only save me a lot of aggravation, but it will help a lot of other people and save considerable time and effort.