Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/builder-unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
shell: bash -l {0}
run: |
conda install -y pylint=2.16.2 \
conda-build \
conda-build=24.9.0 \
networkx \
matplotlib=3.7.* \
junit-xml \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/conda-recipe-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
run: |
conda install -y conda-build
sh ./packaging_scripts/create_conda_package.sh
conda create -y -n test_opence python=3.10
conda create -y -n test_opence python=3.11
source /home/runner/.profile
conda activate test_opence
conda install -y open-ce-builder -c file://$(pwd)/open-ce-conda-pkg
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/xgboost-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

strategy:
matrix:
python-version: ["3.10", "3.11"]
python-version: ["3.11"]

steps:
- uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ pip install -e .
| 1.10.0 | 12.0.3 |
| 1.11.4 | 13.0.3 |
| 1.11.5 | 13.0.3 |
| 1.11.6 | 13.0.4 |

### Building a Collection of Packages
To build an entire integrated and functional conda channel using Open-CE, start by installing the needed tools in the [Requirements](#requirements) section above.
Expand Down
4 changes: 2 additions & 2 deletions conda/recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% set name = "open-ce-builder" %}
{% set version = "13.0.3" %}
{% set version = "13.0.4" %}

package:
name: {{ name }}
Expand All @@ -16,7 +16,7 @@ build:
requirements:
build:
- python
- setuptools
- setuptools 75.*
run:
- conda-build
- conda
Expand Down
12 changes: 7 additions & 5 deletions doc/README.open_ce_build.md
Original file line number Diff line number Diff line change
Expand Up @@ -468,22 +468,24 @@ check the Dockerfile for details.
* System: RHEL 8.5 or above
* OS: Linux
* Power Architecture: Power9/Power10
* GCC Compiler: GCC12
* GCC Compiler: GCC12 and GCC13

One can build Power10 enabled packages with above system requirements. Note that Power10 is not required on your build system. The libraries can be built on Power9 as well.
To install GCC 12, following command can be used -
To install GCC 12 or GCC 13, following command can be used -
```shell
yum install -y gcc-toolset-12
yum install -y gcc-toolset-12 gcc-toolset-13
```

Set GCC_HOME environment variables to proceed with the builds on baremetal, if GCC12 is installed at a non-default location.
Set GCC_HOME and GCC_13_HOME environment variables to proceed with the builds on baremetal, if GCC12 or GCC13 is installed at a non-default location.

For example:
```shell
export GCC_HOME=/opt/rh/gcc-toolset-12/root/usr
```

GCC 12 setup is automated if the builds are done in a podman container using `--container_build` option. Please see [`Dockerfile`](https://github.com/open-ce/open-ce-builder/blob/main/open_ce/images/builder/Dockerfile-p10) used for containerized build of these packages.
Currently GCC 13 is used to build only `llama.cpp` [`llama.cpp-feedstock`](https://github.com/open-ce/open-ce/blob/open-ce-v1.11.6/envs/llama-env.yaml). All other Open-CE recipes can be built using GCC 12.

GCC 12/13 setup is automated if the builds are done in a podman container using `--container_build` option. Please see [`Dockerfile`](https://github.com/open-ce/open-ce-builder/blob/main/open_ce/images/builder/Dockerfile-p10) used for containerized build of these packages.

#### Build packages
Power10 MMA Optimization is applicable for cpu only builds. To build Power10 packages, use one of the following options:
Expand Down
2 changes: 1 addition & 1 deletion open_ce/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
# limitations under the License.
# *****************************************************************
"""
__version__ = "13.0.3"
__version__ = "13.0.4"
6 changes: 3 additions & 3 deletions open_ce/errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,9 @@ class Error(Enum):
TEMP_BUILD_IMAGE_FILES = (37, "Error removing temporary files created during build image.")
UNABLE_DOWNLOAD_SOURCE = (38, "Unable to download source for '{}'.")
UNABLE_CLONE_SOURCE = (39, "Unable to clone source for '{}'.")
GCC12_COMPILER_NOT_FOUND = (40, "Please check if GCC12 is installed. If not, install" +
" gcc-toolset-11. Also, set environment variables" +
" GCC_HOME to point to the installed location." +
GCC12_13_COMPILER_NOT_FOUND = (40, "Please check if GCC12 and GCC13 are installed. If not, install" +
" gcc-toolset-12 and gcc-toolset-13. Also, set environment variables" +
" GCC_HOME and GCC_13_HOME to point to the installed location." +
" For e.g. GCC_HOME=\"/opt/rh/gcc-toolset-11/root/usr\"")

GIT_TAG_MISSING = (41, "git_tag attribute is missing for '{}'")
Expand Down
6 changes: 5 additions & 1 deletion open_ce/images/builder/ubi8/Dockerfile-p10
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ ARG LIMIT_BUILD_RESOURCES=0
ENV LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}

RUN export ARCH="$(uname -m)" && \
yum install -y yum-utils rsync openssh-clients diffutils procps git-lfs gcc-toolset-12 glibc-devel file psmisc libX11-devel openssl openssl-libs openssl-devel && \
yum install -y yum-utils rsync openssh-clients diffutils procps git-lfs gcc-toolset-12 gcc-toolset-13 glibc-devel file psmisc libX11-devel openssl openssl-libs openssl-devel && \
yum install -y libtirpc-devel && \
# Create CICD Group
groupadd --non-unique --gid ${GROUP_ID} ${CICD_GROUP} && \
Expand All @@ -43,9 +43,11 @@ RUN export ARCH="$(uname -m)" && \
echo "export LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}" >> ${HOME}/.bashrc && \
export PATH="/opt/rh/gcc-toolset-12/root/usr/bin:${PATH}" && \
export GCC_HOME="/opt/rh/gcc-toolset-12/root/usr" && \
export GCC_13_HOME="/opt/rh/gcc-toolset-13/root/usr" && \
echo "PATH="${PATH}"" >> ${HOME}/.profile && \
echo "PATH="${PATH}"" >> ${HOME}/.bashrc && \
echo "GCC_HOME="${GCC_HOME}"" >> ${HOME}/.bashrc && \
echo "GCC_13_HOME="${GCC_13_HOME}"" >> ${HOME}/.bashrc && \
chown -R ${BUILD_USER}:${CICD_GROUP} ${CONDA_HOME} && \
git config --global http.version HTTP/1.1 && \
git config --global http.postBuffer 157286400
Expand All @@ -54,9 +56,11 @@ RUN export ARCH="$(uname -m)" && \
USER ${BUILD_USER}
RUN export PATH="/opt/rh/gcc-toolset-12/root/usr/bin:${PATH}" && \
export GCC_HOME="/opt/rh/gcc-toolset-12/root/usr" && \
export GCC_13_HOME="/opt/rh/gcc-toolset-13/root/usr" && \
echo "PATH="${PATH}"" >> ${HOME}/.profile && \
echo "PATH="${PATH}"" >> ${HOME}/.bashrc && \
echo "GCC_HOME="${GCC_HOME}"" >> ${HOME}/.bashrc && \
echo "GCC_13_HOME="${GCC_13_HOME}"" >> ${HOME}/.bashrc && \
mkdir -p $HOME/.cache && \
echo ". $CONDA_HOME/etc/profile.d/conda.sh" >> ${HOME}/.bashrc && \
echo "export PYTHONPATH=${PYTHONPATH}:$HOME/open_ce" >> ${HOME}/.bashrc && \
Expand Down
6 changes: 3 additions & 3 deletions open_ce/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -412,11 +412,11 @@ def _check_ppc_arch(args):
os.environ["PATH"] = f"{os.path.join(os.environ['GCC_HOME'], 'bin')}:{PATH}"
print("Path variable set to : ", os.environ["PATH"])
if not os.path.exists(constants.DEFAULT_GCC_HOME_DIR):
raise OpenCEError(Error.GCC12_COMPILER_NOT_FOUND)
raise OpenCEError(Error.GCC12_13_COMPILER_NOT_FOUND)
if "GCC_13_HOME" not in os.environ:
os.environ["GCC_13_HOME"] = constants.DEFAULT_GCC_13_HOME_DIR
if not os.path.exists(constants.DEFAULT_GCC_HOME_DIR):
raise OpenCEError(Error.GCC13_COMPILER_NOT_FOUND)
if not os.path.exists(constants.DEFAULT_GCC_13_HOME_DIR):
raise OpenCEError(Error.GCC12_13_COMPILER_NOT_FOUND)


def parse_args(parser, arg_strings=None):
Expand Down
2 changes: 1 addition & 1 deletion tests/inputs_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,5 +117,5 @@ def test_check_ppc_arch_for_p10_with_no_gcc_path(mocker):

with pytest.raises(OpenCEError) as exc:
_check_ppc_arch(args)
assert Error.GCC12_COMPILER_NOT_FOUND.value[1] in str(exc.value)
assert Error.GCC12_13_COMPILER_NOT_FOUND.value[1] in str(exc.value)

Loading