{
    "componentChunkName": "component---src-templates-markdown-doc-tsx",
    "path": "/2025.1.3/installation",
    "result": {"data":{"mdx":{"id":"c04278ac-abef-57ad-aa39-439096692fe2","frontmatter":{"title":"","images":null},"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Installation\"), mdx(\"p\", null, \"Installing Salvus is a multi-step procedure that is very similar on every\\nsystem. This page describes the general sequence, but for specific systems and\\nthe relevant procedure, we refer to the pages per OS as can be selected below.\"), mdx(\"p\", null, \"Please note that when running Salvus on remote systems (like workstations),\\nSalvus can be remotely installed both using these instructions, or during the\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/installation/salvus_flow_configuration\"\n  }, \"Salvus flow configuration\"), \" from\\nyour local system. If using the latter process, only the\\nwave simulation binaries will be remotely installed, and not the Python\\ninterface. For more information on installing and running Salvus using remote\\ncompute resources, see the article\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/installation/where_to_run_things\"\n  }, \"Where to Run Things?\")), mdx(\"p\", null, \"If you run into any problems please don't hesitate to contact us at\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"mailto:support@mondaic.com\"\n  }, \"support@mondaic.com\"), \" or any other provided support\\nchannel.\"), mdx(Message, {\n    color: \"violet\",\n    header: \"Operating Systems\",\n    content: mdx(\"div\", null, mdx(\"br\", null), mdx(Grid, {\n      centered: true,\n      stackable: true,\n      columns: 3,\n      mdxType: \"Grid\"\n    }, mdx(GridRow, {\n      mdxType: \"GridRow\"\n    }, mdx(GridColumn, {\n      textAlign: \"center\",\n      mobile: 16,\n      computer: 16,\n      largeScreen: 8,\n      widescreen: 5,\n      mdxType: \"GridColumn\"\n    }, mdx(Icon, {\n      name: \"windows\",\n      size: \"massive\",\n      mdxType: \"Icon\"\n    }), mdx(ButtonGroup, {\n      style: {\n        margin: '20px',\n        display: 'flex',\n        flexDirection: 'column',\n        gap: '10px'\n      },\n      mdxType: \"ButtonGroup\"\n    }, mdx(\"a\", {\n      href: \"/installation/platform_specific/windows_subsystem_for_linux\"\n    }, mdx(Button, {\n      secondary: true,\n      animated: true,\n      style: {\n        width: '100%'\n      },\n      mdxType: \"Button\"\n    }, mdx(ButtonContent, {\n      visible: true,\n      mdxType: \"ButtonContent\"\n    }, mdx(\"span\", {\n      style: {\n        whiteSpace: 'nowrap'\n      }\n    }, \"WSL\")), mdx(ButtonContent, {\n      hidden: true,\n      mdxType: \"ButtonContent\"\n    }, mdx(Icon, {\n      name: \"arrow right\",\n      mdxType: \"Icon\"\n    })))), mdx(\"a\", {\n      href: \"/installation/platform_specific/windows\"\n    }, mdx(Button, {\n      secondary: true,\n      animated: true,\n      style: {\n        width: '100%'\n      },\n      mdxType: \"Button\"\n    }, mdx(ButtonContent, {\n      visible: true,\n      mdxType: \"ButtonContent\"\n    }, \"Native\"), mdx(ButtonContent, {\n      hidden: true,\n      mdxType: \"ButtonContent\"\n    }, mdx(Icon, {\n      name: \"arrow right\",\n      mdxType: \"Icon\"\n    })))))), mdx(GridColumn, {\n      textAlign: \"center\",\n      mobile: 16,\n      computer: 16,\n      largeScreen: 8,\n      widescreen: 5,\n      mdxType: \"GridColumn\"\n    }, mdx(Icon, {\n      name: \"apple\",\n      size: \"massive\",\n      mdxType: \"Icon\"\n    }), mdx(ButtonGroup, {\n      style: {\n        margin: '20px',\n        display: 'flex',\n        flexDirection: 'column',\n        gap: '10px'\n      },\n      mdxType: \"ButtonGroup\"\n    }, mdx(\"a\", {\n      href: \"/installation/platform_specific/apple_m_series_native\",\n      style: {\n        display: 'block',\n        width: '100%'\n      }\n    }, mdx(Button, {\n      secondary: true,\n      animated: true,\n      style: {\n        width: '100%'\n      },\n      mdxType: \"Button\"\n    }, mdx(ButtonContent, {\n      visible: true,\n      mdxType: \"ButtonContent\"\n    }, mdx(\"span\", {\n      style: {\n        whiteSpace: 'nowrap'\n      }\n    }, \"M-Series\")), mdx(ButtonContent, {\n      hidden: true,\n      mdxType: \"ButtonContent\"\n    }, mdx(Icon, {\n      name: \"arrow right\",\n      mdxType: \"Icon\"\n    })))), mdx(\"a\", {\n      href: \"/installation/platform_specific/apple_intel\",\n      style: {\n        display: 'block',\n        width: '100%'\n      }\n    }, mdx(Button, {\n      secondary: true,\n      animated: true,\n      style: {\n        width: '100%'\n      },\n      mdxType: \"Button\"\n    }, mdx(ButtonContent, {\n      visible: true,\n      mdxType: \"ButtonContent\"\n    }, \"Intel\"), mdx(ButtonContent, {\n      hidden: true,\n      mdxType: \"ButtonContent\"\n    }, mdx(Icon, {\n      name: \"arrow right\",\n      mdxType: \"Icon\"\n    })))))), mdx(GridColumn, {\n      textAlign: \"center\",\n      mobile: 16,\n      computer: 16,\n      largeScreen: 8,\n      widescreen: 5,\n      mdxType: \"GridColumn\"\n    }, mdx(Icon, {\n      name: \"linux\",\n      size: \"massive\",\n      mdxType: \"Icon\"\n    }), mdx(ButtonGroup, {\n      style: {\n        margin: '20px',\n        display: 'flex',\n        flexDirection: 'column',\n        gap: '10px'\n      },\n      mdxType: \"ButtonGroup\"\n    }, mdx(\"a\", {\n      href: \"/installation/platform_specific/linux\"\n    }, mdx(Button, {\n      secondary: true,\n      animated: true,\n      style: {\n        width: '100%'\n      },\n      mdxType: \"Button\"\n    }, mdx(ButtonContent, {\n      visible: true,\n      mdxType: \"ButtonContent\"\n    }, mdx(\"span\", {\n      style: {\n        whiteSpace: 'nowrap'\n      }\n    }, \"Native\")), mdx(ButtonContent, {\n      hidden: true,\n      mdxType: \"ButtonContent\"\n    }, mdx(Icon, {\n      name: \"arrow right\",\n      mdxType: \"Icon\"\n    })))))))), mdx(\"p\", null, \"When using the installation instructions, make sure to select the right OS variant.\"), mdx(\"p\", null, \"We currently support most Linux distributions natively, Apple's MacOS (Intel and M-series/Apple Silicon chips), as well as Windows (either natively on Windows 11 or using the Windows Subsystem for Linux on Windows 10 and 11).\"), mdx(\"p\", null, \"MacBooks with intel chips were common before 2020. You can find your chip type by navigating to the top left of your MacOS desktop, clicking the Apple logo, and selecting \\\"About This Mac\\\". The chip type will be listed in the window that opens. If it says \\\"Apple M...\\\" or \\\"Apple Silicon\\\", you have an M-series chip. If it says \\\"Intel ...\\\", you have an Intel chip.\")),\n    mdxType: \"Message\"\n  }), mdx(\"h2\", null, \"General installation process\"), mdx(\"p\", null, \"On a high level, the Salvus installation process always has the following\\nsteps:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Install external prerequisites (e.g. MPI on Windows). For\\nthis, make sure to select the right operating system above.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Set up an appropriate Python environment. This typically consists of:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Installing Miniforge, a binary and package manager for Python;\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Installing the required Python version and external packages from our\\n\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"environment.yml\"), \" files.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Activating the environment to continue the installation process.\")), mdx(\"ol\", {\n    \"start\": 3\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Run the Mondaic installer. This will guide you through the process of\\nselecting the right files to download, including the SalvusCompute binaries,\\ni.e. what runs the waveform simulations, and the right SalvusPy binaries,\\nwhich runs the Python interface for all other functionality. The appropriate\\nfiles are selected based on the operating system, \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/installation/microarchitecture\"\n  }, \"available microarchitecture instructions\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Install the just-downloaded SalvusPy files in the Python environment.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Finalize the installation by \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/installation/salvus_flow_configuration\"\n  }, \"creating or (re-)initializing a Salvus site\"), \".\")), mdx(\"p\", null, \"All files installed by Salvus itself will typically live in one directory (by\\ndefault \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"~/Salvus\"), \" on Linux, MacOS and WSL systems,\\n\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"%homedrive%%homepath%\\\\Salvus\"), \" on Windows).\"), mdx(\"p\", null, \"The nature of this installation also makes it easy to install multiple versions\\nof SalvusPy on the same system, by e.g. creating multiple Python environments\\nand naming them according to the Salvus version one installs. Typically, any\\nSalvusPy version can call an arbitrary SalvusCompute version, although we only\\n\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"guarantee\"), \" compatibility for matching version numbers.s\"), mdx(\"p\", null, \"Salvus should be all ready by now so time to learn how to use it. We recommend\\nto start with\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/examples/tutorials/getting_started/tutorial_part1\"\n  }, \"this tutorial\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;"},"site":{"siteMetadata":{"salvusDocVersions":{"current":"2026.5.0"}}}},"pageContext":{"id":"c04278ac-abef-57ad-aa39-439096692fe2"}},
    "staticQueryHashes": ["1756726491","1865182279","3419370438","3597190305","4112489441","519097329"]}