Skip to content

Commit

Permalink
Merge branch 'og-develop' into action-primitives
Browse files Browse the repository at this point in the history
  • Loading branch information
cgokmen committed Oct 18, 2023
2 parents e9b873c + 1709ec2 commit 9d13d44
Show file tree
Hide file tree
Showing 11 changed files with 459 additions and 162 deletions.
21 changes: 12 additions & 9 deletions .github/workflows/build-push-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,34 @@ on:

jobs:
docker:
runs-on: [self-hosted, linux, gpu]
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
-
name: Login to NVCR
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: nvcr.io
username: ${{ secrets.NVCR_USERNAME }}
password: ${{ secrets.NVCR_PASSWORD }}
-
name: Login to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
-
name: Metadata for dev Image
id: meta-dev
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: |
stanfordvl/omnigibson-dev
Expand All @@ -45,7 +48,7 @@ jobs:
-
name: Metadata for prod Image
id: meta-prod
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: |
stanfordvl/omnigibson
Expand All @@ -54,8 +57,8 @@ jobs:
type=semver,pattern={{version}}
-
name: Build and push dev image
uses: docker/build-push-action@v4
id: build-dev
uses: docker/build-push-action@v5
with:
context: .
push: true
Expand All @@ -70,7 +73,7 @@ jobs:
sed -i "s/omnigibson-dev:latest/omnigibson-dev@${{ steps.build-dev.outputs.digest }}/g" docker/prod.Dockerfile && cat docker/prod.Dockerfile
-
name: Build and push prod image
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
context: .
push: true
Expand Down
77 changes: 0 additions & 77 deletions .github/workflows/docs.yml

This file was deleted.

21 changes: 1 addition & 20 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,7 @@ concurrency:

jobs:
test:
runs-on: [self-hosted, linux, gpu]
container:
image: stanfordvl/omnigibson-dev:latest
options: --gpus=all --privileged --user=root
env:
DISPLAY: ""
OMNIGIBSON_HEADLESS: 1
volumes:
- /scr/omni-data/datasets:/data
- /usr/share/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json
- /usr/share/vulkan/icd.d/nvidia_layers.json:/etc/vulkan/implicit_layer.d/nvidia_layers.json
- /usr/share/glvnd/egl_vendor.d/10_nvidia.json:/usr/share/glvnd/egl_vendor.d/10_nvidia.json
- /scr/omni-data/isaac-sim/cache/ov:/root/.cache/ov:rw
- /scr/omni-data/isaac-sim/cache/pip:/root/.cache/pip:rw
- /scr/omni-data/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw
- /scr/omni-data/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw
- /scr/omni-data/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw
- /scr/omni-data/isaac-sim/config:/root/.nvidia-omniverse/config:rw
- /scr/omni-data/isaac-sim/data:/root/.local/share/ov/data:rw
- /scr/omni-data/isaac-sim/documents:/root/Documents:rw
runs-on: [self-hosted, linux, gpu, dataset-enabled]

defaults:
run:
Expand Down
4 changes: 2 additions & 2 deletions docker/dev.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM nvcr.io/nvidia/isaac-sim:2022.2.1
FROM nvcr.io/nvidia/isaac-sim:2023.1.0

# Set up all the prerequisites.
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
Expand All @@ -19,7 +19,7 @@ ENV OMNIGIBSON_KEY_PATH /data/omnigibson.key
# Install Mamba (light conda alternative)
RUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj -C / bin/micromamba
ENV MAMBA_ROOT_PREFIX /micromamba
RUN micromamba create -n omnigibson -c conda-forge python=3.7
RUN micromamba create -n omnigibson -c conda-forge python=3.10
RUN micromamba shell init --shell=bash --prefix=/micromamba

# Make sure isaac gets properly sourced every time omnigibson gets called
Expand Down
49 changes: 0 additions & 49 deletions docker/run_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,55 +26,6 @@ do
esac
done

ICD_PATH_1="/usr/share/vulkan/icd.d/nvidia_icd.json"
ICD_PATH_2="/etc/vulkan/icd.d/nvidia_icd.json"
LAYERS_PATH_1="/usr/share/vulkan/icd.d/nvidia_layers.json"
LAYERS_PATH_2="/usr/share/vulkan/implicit_layer.d/nvidia_layers.json"
LAYERS_PATH_3="/etc/vulkan/implicit_layer.d/nvidia_layers.json"
EGL_VENDOR_PATH="/usr/share/glvnd/egl_vendor.d/10_nvidia.json"

# Find the ICD file
if [ -e "$ICD_PATH_1" ]; then
ICD_PATH=$ICD_PATH_1
elif [ -e "$ICD_PATH_2" ]; then
ICD_PATH=$ICD_PATH_2
else
echo "Missing nvidia_icd.json file.";
echo "Typical paths:";
echo "- /usr/share/vulkan/icd.d/nvidia_icd.json or";
echo "- /etc/vulkan/icd.d/nvidia_icd.json";
echo "You can google nvidia_icd.json for your distro to find the correct path.";
echo "Consider updating your driver to 525 if you cannot find the file.";
echo "To continue update the ICD_PATH_1 at the top of the run_docker.sh file and retry";
exit;
fi

# Find the layers file
if [ -e "$LAYERS_PATH_1" ]; then
LAYERS_PATH=$LAYERS_PATH_1
elif [ -e "$LAYERS_PATH_2" ]; then
LAYERS_PATH=$LAYERS_PATH_2
elif [ -e "$LAYERS_PATH_3" ]; then
LAYERS_PATH=$LAYERS_PATH_3
else
echo "Missing nvidia_layers.json file."
echo "Typical paths:";
echo "- /usr/share/vulkan/icd.d/nvidia_layers.json";
echo "- /usr/share/vulkan/implicit_layer.d/nvidia_layers.json";
echo "- /etc/vulkan/implicit_layer.d/nvidia_layers.json";
echo "You can google nvidia_layers.json for your distro to find the correct path.";
echo "Consider updating your driver to 525 if you cannot find the file.";
echo "To continue update the LAYERS_PATH_1 at the top of the run_docker.sh file and retry";
exit;
fi

if [ ! -e "$EGL_VENDOR_PATH" ]; then
echo "Missing ${EGL_VENDOR_PATH} file."
echo "(default path: /usr/share/vulkan/icd.d/nvidia_icd.json)";
echo "To continue update the EGL_VENDOR_PATH at the top of the run_docker.sh file and retry";
exit;
fi

# Move directories from their legacy paths.
if [ -e "${DATA_PATH}/og_dataset" ]; then
mv "${DATA_PATH}/og_dataset" "${DATA_PATH}/datasets/og_dataset"
Expand Down
4 changes: 2 additions & 2 deletions docs/getting_started/building_blocks.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ icon: octicons/package-16

??? question annotate "Why macros?"

Macros enforce global behavior that is consistent within an individual python process but can differ between processes. This is useful because globally enabling all of **`OmniGibson`**'s features can cause unecessary slowdowns, and so configuring the macros for your specific use case can optimize performance.
Macros enforce global behavior that is consistent within an individual python process but can differ between processes. This is useful because globally enabling all of **`OmniGibson`**'s features can cause unnecessary slowdowns, and so configuring the macros for your specific use case can optimize performance.

For example, Omniverse provides a so-called `flatcache` feature which provides significant performance boosts, but cannot be used when fluids or soft bodies are present. So, we ideally should always have `gm.USE_FLATCACHE=True` unless we have fluids or soft bodies in our environment.

Expand Down Expand Up @@ -407,7 +407,7 @@ python -m omnigibson.examples.object_states.particle_source_sink_demo

This demo loads in a sink, which is enabled with both the ParticleSource and ParticleSink states. The sink's particle source is located at the faucet spout and spawns a continuous stream of water particles, which is then destroyed ("sunk") by the sink's particle sink located at the drain.

??? note "Difference bewteen `ParticleApplier/Removers` and `ParticleSource/Sinks`"
??? note "Difference between `ParticleApplier/Removers` and `ParticleSource/Sinks`"
The key difference between `ParticleApplier/Removers` and `ParticleSource/Sinks` is that `Applier/Removers`
requires contact (if using `ParticleProjectionMethod.ADJACENCY`) or overlap
(if using `ParticleProjectionMethod.PROJECTION`) in order to spawn / remove particles, and generally only spawn
Expand Down
2 changes: 2 additions & 0 deletions omnigibson/robots/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@
from omnigibson.robots.fetch import Fetch
from omnigibson.robots.tiago import Tiago
from omnigibson.robots.two_wheel_robot import TwoWheelRobot
from omnigibson.robots.franka import FrankaPanda
from omnigibson.robots.franka_allegro import FrankaAllegro
Loading

0 comments on commit 9d13d44

Please sign in to comment.