Scripts have help text, call them with '-h' flag to access help text.

to start test:
./amd_multi_inst_demo.sh -a 0 -b 3 -x 4 -i "~/input_test_clip.mp4"

to manually look at T408 NUMA associations
./t408_numa_associations.sh

FAQ
Q: What is the purpose of this amd specific demo?
A: EPYC1 AMD processors use a novel multi-chip module design that allows for high core count.
   This design comes with a drawback where a process running on one die attempting to access
   memory connected to another die must go through the 'infinity-fabric' (package level bus).
   When such an access is made, the latency is much much higher than a normal memory access.
   This severely degrades the performance of the process.
   
   This is a well known issue associated with EPYC processors.
   This design drawback can be mitigated by manually assigning processes and hardware to the
   CPU core and memory that is directly connected to it. It is also addressed by the new
   'IO chiplet' in EPYC2 designs.
   
   This script demonstrates how to pin T408 hardware and FFmpeg processes to NUMA nodes. It
   also runs transcode jobs and shows performance.

Q: What are the transcoding parameters used in this test?
A: h264 input is decoded by T408 and encoded by T408 to H265 at 4M, 120 frame intraperiod

Q: Why does processing FPS vary?
A: In this demo, the processing FPS is unlocked to allow card to run as fast as possible.
   The FPS is also reported as the windowed average of the last second instead of FFmpeg's default behavior to report fps as the running average of whole job.