Provided by: ispc_1.22.0-4_amd64
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 ⟨mmyangfl@gmail.com⟩ for the Debian Project (and may be used by others). ispc(1)