Docker environment for testing (#515)
* Add instructions on how to use Docker for manual and automatic testing
[ROCm/rocprofiler-compute commit: 5e90797b24]
Этот коммит содержится в:
коммит произвёл
Vignesh Edithal
родитель
5a7cb724ce
Коммит
69283cb155
@@ -34,6 +34,28 @@ from the `amd-mainline` branch, while new features are developed in our
|
||||
|
||||
Users may checkout `amd-staging` to preview upcoming features.
|
||||
|
||||
## Testing
|
||||
|
||||
To quickly get the environment (bash shell) for building and testing, run the following commands:
|
||||
* `cd utils/docker_env`
|
||||
* `docker compose run app`
|
||||
|
||||
Inside the docker container, clean, build and install the project with tests enabled:
|
||||
```
|
||||
rm -rf build install && cmake -B build -D CMAKE_INSTALL_PREFIX=install -D ENABLE_TESTS=ON -D INSTALL_TESTS=ON -DENABLE_COVERAGE=ON -S . && cmake --build build --target install --parallel 8
|
||||
```
|
||||
|
||||
Note that per the above command, build assets will be stored under `build` directory and installed assets will be stored under `install` directory.
|
||||
|
||||
Then, to run the automated test suite, run the following command:
|
||||
```
|
||||
ctest
|
||||
```
|
||||
|
||||
For manual testing, you can find the executable at `install/bin/rocprof-compute`
|
||||
|
||||
NOTE: This Dockerfile uses `rocm/dev-ubuntu-22.04` as the base image
|
||||
|
||||
## How to Cite
|
||||
|
||||
This software can be cited using a Zenodo
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# Use a base image
|
||||
FROM rocm/dev-ubuntu-22.04
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Update package list and install prerequisites
|
||||
RUN apt-get update && apt-get install -y \
|
||||
software-properties-common cmake locales \
|
||||
&& add-apt-repository ppa:deadsnakes/ppa \
|
||||
&& apt-get update
|
||||
|
||||
# Generate the desired locale
|
||||
RUN locale-gen en_US.UTF-8
|
||||
|
||||
# Install Python 3.10 and pip
|
||||
RUN apt-get install -y python3.10 python3.10-venv python3.10-dev python3-pip
|
||||
|
||||
# Set Python 3.10 as the default python3
|
||||
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
|
||||
|
||||
# Copy your application code to the container
|
||||
COPY . .
|
||||
|
||||
# Install any dependencies specified in requirements.txt
|
||||
RUN pip3 install --no-cache-dir -r requirements.txt -r requirements-test.txt
|
||||
|
||||
# Command to run your application
|
||||
CMD ["/bin/bash"]
|
||||
@@ -0,0 +1,10 @@
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: ../../
|
||||
dockerfile: utils/docker_env/Dockerfile
|
||||
devices:
|
||||
- /dev/kfd
|
||||
- /dev/dri
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
Ссылка в новой задаче
Block a user