{"id":19001239,"url":"https://github.com/oneflow-inc/conda-env","last_synced_at":"2025-04-22T17:25:09.935Z","repository":{"id":47036177,"uuid":"362086755","full_name":"Oneflow-Inc/conda-env","owner":"Oneflow-Inc","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-13T15:56:15.000Z","size":61,"stargazers_count":12,"open_issues_count":6,"forks_count":3,"subscribers_count":42,"default_branch":"main","last_synced_at":"2025-04-17T07:17:45.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Oneflow-Inc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-27T11:25:29.000Z","updated_at":"2024-03-04T13:50:40.000Z","dependencies_parsed_at":"2024-11-08T18:20:36.404Z","dependency_job_id":null,"html_url":"https://github.com/Oneflow-Inc/conda-env","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oneflow-Inc%2Fconda-env","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oneflow-Inc%2Fconda-env/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oneflow-Inc%2Fconda-env/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oneflow-Inc%2Fconda-env/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Oneflow-Inc","download_url":"https://codeload.github.com/Oneflow-Inc/conda-env/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250286086,"owners_count":21405361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T18:10:26.866Z","updated_at":"2025-04-22T17:25:09.903Z","avatar_url":"https://github.com/Oneflow-Inc.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dev env for OneFlow\n\n## Note\n\n**This conda environment is for building oneflow from source. You can install oneflow with pip command if you only want to use pre-built oneflow.**\n\n**这个 conda 环境只是用于编译 oneflow，如果只是想使用 oneflow，使用 pip 命令安装即可**\n\n**注意gcc7下的环境已经与最新版本的oneflow不匹配了，如果要用gcc编译的话，请采用gcc9文件夹下的环境**\n\n**请先尝试用系统环境直接编译，推荐在操作系统不支持编译的时候才使用本 conda 环境**\n\n## Getting started\n- Check or create the environment `oneflow-dev-gcc9`\n    - To check:\n        ```\n        (base) $ conda env list\n        # conda environments:\n        #\n        base                  *  /usr/local/anaconda3\n        oneflow-dev-gcc9         /usr/local/anaconda3/envs/oneflow-dev-gcc9\n        ```\n    - To create:\n        ```\n        git clone https://github.com/Oneflow-Inc/conda-env.git\n        cd conda-env\n        conda env create -f=dev/gcc9/environment.yml\n        conda activate oneflow-dev-gcc9\n        conda env config vars set CXXFLAGS=\"-fPIC\"\n        ```\n\n- To activate:\n    ```bash\n    conda activate oneflow-dev-gcc9\n    ```\n\n- In the root directory of OneFlow source code, run:\n    ```bash\n    mkdir build\n    cd build\n    ```\n\n- Recommanded cmake and make args:\n    ```bash\n    cmake .. -C ../cmake/caches/cn/cuda.cmake \\\n        -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \\\n        -DCUDNN_ROOT_DIR=/usr/local/cudnn\n    ```\n    ```bash\n    make -j$(nproc)\n    ```\n    其中 `-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda` 和 `-DCUDNN_ROOT_DIR=/usr/local/cudnn` 可以根据实际需要调整。\n\n    **一定要确保这两个目录真实存在，并且包含 CUDA 和 cuDNN**\n\n    **一定要确保这两个目录真实存在，并且包含 CUDA 和 cuDNN**\n\n    **一定要确保这两个目录真实存在，并且包含 CUDA 和 cuDNN**\n\n- (Clang only)\n    ```\n    conda env config vars set CC=$CONDA_PREFIX/bin/clang CXX=$CONDA_PREFIX/bin/clang++\n    cmake .. -DCMAKE_INCLUDE_PATH=$CONDA_PREFIX/include/\n    ```\n\n- Add oneflow to your PYTHONPATH\n\n    ```\n    source build/source.sh\n    ```\n\n    Please note that this change is not permanent.\n\n- Simple validation\n\n    ```\n    python3 -m oneflow --doctor\n    ```\n## MISC\n### 基于已有环境自定义\n- 如果 oneflow-dev-gcc7-v2 是用 root 权限创建的，普通用户不能够修改，但是有时候要做一些实验，希望能更新 conda 环境\n- 可以基于系统里提供的 oneflow-dev-gcc7-v2 克隆一个，参考 https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#cloning-an-environment\n\n\n## Advanced\n### 可以加速编译的一些 CMake 参数\n**如果知道这些参数是做什么的并且知道如何解决可能带来的错误，可以使用这些参数，否则请不要使用**\n\n**如果知道这些参数是做什么的并且知道如何解决可能带来的错误，可以使用这些参数，否则请不要使用**\n\n**如果知道这些参数是做什么的并且知道如何解决可能带来的错误，可以使用这些参数，否则请不要使用**\n\n```\n-DBUILD_SHARED_LIBS=ON \\\n-DBUILD_GIT_VERSION=OFF \\\n-DCUDA_NVCC_GENCODES=\"arch=compute_75,code=sm_75\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foneflow-inc%2Fconda-env","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foneflow-inc%2Fconda-env","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foneflow-inc%2Fconda-env/lists"}