In the subdirectory
~/ncsexamples/batchMode
you will find the C source file
helloFrameCpp.cpp
.
To build the Binary Executable
helloFrameCpp_aarch64
, please follow these steps. First, please install the
cross-compiler tools:
sudo apt install crossbuild-essential-arm64
Then build the aarch64 executable
helloFrameCpp_aarch64
with this command:
aarch64-linux-gnu-g++ -o helloFrameCpp_aarch64 helloFrameCpp.cpp
Now you will have the binary executable file
helloFrameCpp_aarch64
.
In the subdirectory
~/ncsexamples/batchMode
you will find the
runBatchBinaryCpp.py command.
This script will create a set of instances running on mobile devices, one instance for each frame to be computed (3 in
the default example provided).
startFrame = 1,
endFrame = 3,
It will command the instances to receive the binary executable file
helloFrameCpp_aarch64
, then
run the executable:
workerBinFilePath = 'helloFrameCpp_aarch64' # binary to copy to instance
commonInFilePath = binaryFrameProcessor.workerBinFilePath,
def frameCmd( self, frameNum ):
workerBinFileName = os.path.basename( self.workerBinFilePath )
cmd = './%s %d > %s' % \
(workerBinFileName, frameNum, self.frameOutFileName(frameNum))
return cmd
The output is a text file
frame_<n>.out
containing
"Hello World! From frameNum = n"
These output files will be sent back to the master host, and the master will then terminate the instances.