Man page - ispc(1)
Packages contains this manual
Manual
ispc
NAMESYNOPSIS
DESCRIPTION
OPTIONS
SEE ALSO
AUTHOR
NAME
ispc - Intel Implicit SPMD Program Compiler
SYNOPSIS
ispc [ options ] file
DESCRIPTION
ispc is a compiler for a variant of the C programming language, with extensions for single program, multiple data programming. Under the SPMD model, the programmer writes a program that generally appears to be a regular serial program, though the execution model is actually that a number of program instances execute in parallel on the hardware.
OPTIONS
--addressing { 32,64 }
Select 32- or 64- bit addressing. (Note that 32- bit addressing calculations are done by default, even on 64- bit target architectures.)
--arch { x86, x86-64, arm, aarch64, wasm32 }
Select target architecture
--colored-output
Always use terminal colors in error/warning messages
--cpu <type>
An alias for --device <type> switch
-D <foo>
#define given value when running preprocessor
--dev-stub <filename>
Emit device-side offload stub functions to file
--device <type>
Select target device
<type> = { x86-64 , atom (synonyms: bonnell ), core2, penryn, corei7 (synonyms: nehalem ), btver2 (synonyms: ps4 ), corei7-avx (synonyms: sandybridge ), core-avx-i (synonyms: ivybridge ), core-avx2 (synonyms: haswell ), broadwell, skylake, knl, skx, icelake-client (synonyms: icl ), slm (synonyms: silvermont ), icelake-server (synonyms: icx ), tigerlake (synonyms: tgl ), alderlake (synonyms: adl ), sapphirerapids (synonyms: spr ), znver1, znver2 (synonyms: ps5 ), znver3, cortex-a9, cortex-a15, cortex-a35, cortex-a53, cortex-a57, apple-a7, apple-a10, apple-a11, apple-a12, apple-a13, apple-a14 }
--dllexport
Make non-static functions DLL exported. Windows target only
--dwarf-version { 2,3,4 }
Generate source-level debug information with given DWARF version (triggers -g ). Ignored for Windows target
|
-E |
Run only the preprocessor |
--emit-asm
Generate assembly language file as output
--emit-llvm
Emit LLVM bitcode file as output
--emit-llvm-text
Emit LLVM bitcode file as output in textual form
--emit-obj
Generate object file file as output (default)
--enable-llvm-intrinsics
Enable experimental feature to call LLVM intrinsics from ISPC source code
--error-limit <value>
Limit maximum number of errors emitting by ISPC to <value>
--force-alignment <value>
Force alignment in memory allocations routine to be <value>
|
-g |
Generate source-level debug information |
|||
|
--help |
Print help |
--help-dev
Print help for developer options
--host-stub <filename>
Emit host-side offload stub functions to file
-h <name> / --header-outfile <name>
Output filename for header
-I <path>
Add <path> to #include file search path
--ignore-preprocessor-errors
Suppress errors from the preprocessor
--instrument
Emit instrumentation to gather performance data
--math-lib <option>
Select math library
default
Use ispcâs built-in math functions
|
fast |
Use high-performance but lower-accuracy math functions |
|||
|
svml |
Use the Intel(r) SVML math libraries |
|||
|
system |
Use the systemâs math library (*may be quite slow*) |
-MMM <filename>
Write #include dependencies to given file.
|
-M |
Output a rule suitable for make describing the dependencies of the main source file to stdout. |
-MF <filename>
When used with -M, specifies a file to write the dependencies to.
-MT <filename>
When used with -M, changes the target of the rule emitted by dependency generation.
--no-omit-frame-pointer
Disable frame pointer omission. It may be useful for profiling
--nostdlib
Donât make the ispc standard library available
--no-pragma-once
Donât use #pragma once in created headers
--nocpp
Donât run the C preprocessor
-o <name>/--outfile <name>
Output filename (may be "-" for standard output)
-O0/-O(1/2/3)
Set optimization level. Default behavior is to optimize for speed.
|
-O0 |
Optimizations disabled. |
|||
|
-O1 |
Optimization for size. |
|||
|
-O2/O3 |
--opt <option>
Set optimization option
disable-assertions
Remove assertion statements from final code.
disable-fma
Disable âfused multiply-addâ instructions (on targets that support them)
disable-loop-unroll
Disable loop unrolling.
disable-zmm
Disable using zmm registers for avx512 targets in favour of ymm. This also affects ABI.
fast-masked-vload
Faster masked vector loads on SSE (may go past end of array)
fast-math
Perform non-IEEE-compliant optimizations of numeric expressions
force-aligned-memory
Always issue "aligned" vector load and store instructions
|
--pic |
Generate position-independent code. Ignored for Windows target |
--quiet
Suppress all output
--support-matrix
Print full matrix of supported targets, architectures and OSes
--target <t>
Select target ISA and width. <t> ={ sse2-i32x4, sse2-i32x8, sse4-i8x16, sse4-i16x8, sse4-i32x4, sse4-i32x8, avx1-i32x4, avx1-i32x8, avx1-i32x16, avx1-i64x4, avx2-i8x32, avx2-i16x16, avx2-i32x4, avx2-i32x8, avx2-i32x16, avx2-i64x4, avx512knl-x16, avx512skx-x4, avx512skx-x8, avx512skx-x16, avx512skx-x32, avx512skx-x64, neon-i8x16, neon-i16x8, neon-i32x4, neon-i32x8, wasm-i32x4 }
--target-os <os>
Select target OS. <os> ={ linux, custom_linux, freebsd, android, web }
--time-trace
Turn on time profiler. Generates JSON file based on output filename.
--time-trace-granularity <value>
Minimum time granularity (in microseconds) traced by time profiler.
--vectorcall/--no-vectorcall
Enable/disable vectorcall calling convention on Windows (x64 only). Disabled by default
--version
Print ispc version
--werror
Treat warnings as errors
|
--woff |
Disable warnings |
--wno-perf
Donât issue warnings related to performance-related issues
--x86-asm-syntax <option>
Select style of code if generating assembly
|
intel |
Emit Intel-style assembly |
|||
|
att |
Emit AT&T-style assembly |
SEE ALSO
https://ispc.github.io/
AUTHOR
ispc is written by Intel Corporation.
This manual page was written by Yangfl for the Debian Project (and may be used by others).