UPMEM Processing-In-Memory solution consist of a pool of programmable co-processors, the DPUs, integrated in the memory.
Examples of DPU programs generated with UPMEM DPU SDK
- The UPMEM DPU SDK, version 2017.1.1-EAP or later
- Gnu make and gcc, to build the application
#Building the programs
make [TARGET_TYPE=...] to buid the programs for a given target.
- If not set, TARGET_TYPE is by default the functional simulator
- Otherwise, you may select a specific type, such as FPGA
make clean removes the resulting builds.
The simplest way to execute the programs is to run make test. Otherwise, you may run individual tests manually:
- cd TEST_DIR
- bin/host/program
Where TEST_DIR is the test name (e.g. checksum).
The host application generates a random file of 8MB, and schedules multiple DPUs co-processors to compute the checksum on this file. As sanity check it compares host result with the DPU results, and prints out the DPU performances:
-
- Total number of DPU cycles executed
-
- The number of DPU cycles per byte processed