Load Test Output
In this tutorial, we will show you how to use Neocortix Cloud Services Scalable Compute to run a distributed batch job with a Binary Executable, in a framework where you can easily build and substitute your own Binary Executable. We will use a simple Go program to create the Binary Executable in our example.
First, please follow the steps in the tutorial Setting Up For Batch Jobs. After completion of the initial setup, you will have a directory with examples,

Building the Binary Executable for Arm (aarch64)

In that repository in the subdirectory
you will find the Go source file
. To build the Binary Executable
, please follow these steps. First, please install the Go compiler tools for your machine, from https://golang.org/doc/install.
Next, build the aarch64 executable
with this command:
GOARCH=arm64 GOOS=linux go build -o helloFrameGo_aarch64 helloFrameGo.go
Now you will have the binary executable file
In the subdirectory
you will find the runBatchBinaryGo.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
, then run the executable:
workerBinFilePath = 'helloFrameGo_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
"Hello World! From frameNum = n"
These output files will be sent back to the master host, and the master will then terminate the instances.

Example Command

Simply run
python3 ./runBatchBinaryGo.py
When the program is done, the output files
will be put in a directory
Each file will contain the text output
Hello World! From frameNum = n

Building and Substituting Your Own Binary Executable Code

With this simple framework, you can easily build and substitute your own Binary Executable to process the frames of the Batch job. Starting with your own Go source file
, just follow the instructions above to build the binary executable
go build -o yourFile_aarch64 yourFile.go
Now you will have the binary executable file
Just edit the
file to change the
to replace
with the name of your binary executable
, which runs on an instance and processes a single frame. You may need to install different dependencies in the
Pro Tip: When you are experimenting with getting your code running on a Neocortix Scalable Compute instance, it may be easiest to spin up a single instance and get it installed and running there, before running it at scale as a part of a Batch job.