JULIA(1)

NAME
julia - a high-level, high-performance dynamic programming language for technical computing

SYNOPSIS
julia [OPTIONS...] -- [PROGRAMFILE] [ARGS...] If a Julia source file is given as a PROGRAMFILE (optionally followed by arguments in ARGS) Julia will execute the program and exit.

DESCRIPTION
Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, largely written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. In addition, the Julia developer community is contributing a number of external packages through Julia's built-in package manager at a rapid pace. Julia programs are organized around multiple dispatch; by defining functions and overloading them for different combinations of argument types, which can also be user-defined. For a more in-depth discussion of the rationale and advantages of Julia over other systems, please see the online manual: https://docs.julialang.org

COMMAND-LINE OPTIONS

-v, --version
    Display version information

-h, --help
    Print command-line options (this message)

--help-hidden
    Print uncommon options not shown by `-h`

--project[=<dir>/@.]
    Set <dir> as the active project/environment. The default @. option will search through parent directories until a Project.toml or JuliaProject.toml file is found.

-J, --sysimage <file>
    Start up with the given system image file

-H, --home <dir>
    Set location of `julia` executable

--startup-file={yes*|no}
    Load `JULIA_DEPOT_PATH/config/startup.jl`; if `JULIA_DEPOT_PATH` environment variable is unset, load `~/.julia/config/startup.jl`

--handle-signals={yes*|no}
    Enable or disable Julia's default signal handlers

--sysimage-native-code={yes*|no}
    Use native code from system image if available

--compiled-modules={yes*|no|existing|strict}
    Enable or disable incremental precompilation of modules. The `existing` option allows use of existing compiled modules that were previously precompiled, but disallows creation of new precompile files. The `strict` option is similar, but will error if no precompile file is found.

--pkgimages={yes*|no|existing}
    Enable or disable usage of native code caching in the form of pkgimages The `existing` option allows use of existing pkgimages but disallows creation of new ones

-e, --eval <expr>
    Evaluate <expr>

-E, --print <expr>
    Evaluate <expr> and display the result

-m, --module <Package> [args]
    Run entry point of `Package` (`@main` function) with `args'

-L, --load <file>
    Load <file> immediately on all processors

-t, --threads {auto|N[,auto|M]}
    Enable N[+M] threads; N threads are assigned to the `default` threadpool, and if M is specified, M threads are assigned to the `interactive` threadpool; `auto` tries to infer a useful default number of threads to use but the exact behavior might change in the future. Currently sets N to the number of CPUs assigned to this Julia process based on the OS-specific affinity assignment interface if supported (Linux and Windows) or to the number of CPU threads if not supported (MacOS) or if process affinity is not configured, and sets M to 1.

--gcthreads=N[,M]
    Use N threads for the mark phase of GC and M (0 or 1) threads for the concurrent sweeping phase of GC. N is set to the number of compute threads and M is set to 0 if unspecified.

-p, --procs {N|auto}
    Integer value N launches N additional local worker processes `auto` launches as many workers as the number of local CPU threads (logical cores)

--machine-file <file>
    Run processes on hosts listed in <file>

-i, --interactive
    Interactive mode; REPL runs and `isinteractive()` is true

-q, --quiet
    Quiet startup: no banner, suppress REPL warnings

--banner={yes|no|short|auto*}
    Enable or disable startup banner

--color={yes|no|auto*}
    Enable or disable color text

--history-file={yes*|no}
    Load or save history

--depwarn={yes|no*|error}
    Enable or disable syntax and method deprecation warnings (`error` turns warnings into errors)

--warn-overwrite={yes|no*}
    Enable or disable method overwrite warnings

--warn-scope={yes*|no}
    Enable or disable warning for ambiguous top-level scope

-C, --cpu-target=<target>
    Limit usage of CPU features up to <target>; set to `help` to see the available options

-O, --optimize={0|1|2*|3}
    Set the optimization level (level 3 if `-O` is used without a level)

--min-optlevel={0*|1|2|3}
    Set a lower bound on the optimization level

-g, --debug-info={0|1*|2}
    Set the level of debug info generation (level 2 if `-g` is used without a level)

--inline={yes*|no}
    Control whether inlining is permitted, including overriding @inline declarations

--check-bounds={yes|no|auto*}
    Emit bounds checks always, never, or respect @inbounds declarations

--math-mode={ieee|user*}
    Always follow `ieee` floating point semantics or respect `@fastmath` declarations

--polly={yes*|no}
    Enable or disable the polyhedral optimizer Polly (overrides @polly declaration)

--code-coverage[={none*|user|all}]
    Count executions of source lines (omitting setting is equivalent to `user`)

--code-coverage=@<path>
    Count executions of source lines in a file or files under a given directory. A `@` must be placed before the path to indicate this option. A `@` with no path will track the current directory.

--code-coverage=tracefile.info
    Append coverage information to the LCOV tracefile (filename supports format tokens)

--track-allocation[={none*|user|all}]
    Count bytes allocated by each source line (omitting setting is equivalent to `user`)

--track-allocation=@<path>
    Count bytes but only in files that fall under the given file path/directory. The `@` prefix is required to select this option. A `@` with no path will track the current directory.

--bug-report=KIND
    Launch a bug report session. It can be used to start a REPL, run a script, or evaluate expressions. It first tries to use BugReporting.jl installed in current environment and fallbacks to the latest compatible BugReporting.jl if not. For more information, see --bug-report=help.

--heap-size-hint=<size>
    Forces garbage collection if memory usage is higher than the given value. The value may be specified as a number of bytes, optionally in units of KB, MB, GB, or TB, or as a percentage of physical memory with %.

--compile={yes*|no|all|min}
    Enable or disable JIT compiler, or request exhaustive or minimal compilation

--output-o <name>
    Generate an object file (including system image data)

--output-ji <name>
    Generate a system image data file (.ji)

--strip-metadata
    Remove docstrings and source location info from system image

--strip-ir
    Remove IR (intermediate representation) of compiled functions

--output-unopt-bc <name>
    Generate unoptimized LLVM bitcode (.bc)

--output-bc <name>
    Generate LLVM bitcode (.bc)

--output-asm <name>
    Generate an assembly file (.s)

--output-incremental={yes|no*}
    Generate an incremental output file (rather than complete)

--trace-compile={stderr|name}
    Print precompile statements for methods compiled during execution or save to stderr or a path. Methods that were recompiled are printed in yellow or with a trailing comment if color is not supported

--trace-compile-timing=
    If --trace-compile is enabled show how long each took to compile in ms

--trace-dispatch={stderr|name}
    Print precompile statements for methods dispatched during execution or save to stderr or a path.

--task-metrics={yes|no*}
    Enable the collection of per-task metrics.

-image-codegen
    Force generate code in imaging mode

--permalloc-pkgimg={yes|no*}
    Copy the data section of package images into memory

FILES AND ENVIRONMENT
See https://docs.julialang.org/en/v1/manual/environment-variables/

BUGS
Please report any bugs using the GitHub issue tracker: https://github.com/julialang/julia/issues?state=open

AUTHORS
Contributors: https://github.com/JuliaLang/julia/graphs/contributors

INTERNET RESOURCES
Website: https://julialang.org/
Documentation: https://docs.julialang.org/
Install: https://julialang.org/install/

LICENSING
Julia is an open-source project. It is made available under the MIT license.