Files
TheRock/rocm-systems/projects/rocprofiler-systems/examples/hpc/julia/CMakeLists.txt
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

68 lines
1.8 KiB
CMake

# Copyright (c) Advanced Micro Devices, Inc.
# SPDX-License-Identifier: MIT
find_program(JULIA_EXECUTABLE NAMES julia)
# # Install Julia
# curl -fsSL https://install.julialang.org | sh -s -- -y
# # Get AMDGPU.jl
# julia -e 'import Pkg; Pkg.add("AMDGPU")'
# # To run
# julia vecadd.jl
check_rocprofsys_disable_examples("julia" _JULIA_DISABLED)
if(_JULIA_DISABLED)
return()
endif()
if(NOT JULIA_EXECUTABLE)
message(AUTHOR_WARNING "Julia not found - Please install... Skipping Julia examples")
return()
endif()
# Check if AMDGPU.jl is installed
execute_process(
COMMAND
${JULIA_EXECUTABLE} --startup-file=no -e
"import Pkg; exit(\"AMDGPU\" in keys(Pkg.project().dependencies) ? 0 : 1)"
RESULT_VARIABLE AMDGPU_CHECK_RESULT
OUTPUT_QUIET
ERROR_QUIET
)
if(NOT AMDGPU_CHECK_RESULT EQUAL 0)
message(
AUTHOR_WARNING
"Julia AMDGPU.jl package not found. Skipping Julia examples.\n"
"To install, run: julia -e 'import Pkg; Pkg.add(\"AMDGPU\")'"
)
return()
endif()
# Julia is JIT compilation
set(JULIA_TARGET_NAME "vecadd-julia")
add_custom_command(
OUTPUT "${CMAKE_BINARY_DIR}/vecadd.jl"
COMMAND
${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_LIST_DIR}/vecadd.jl
${CMAKE_BINARY_DIR}/vecadd.jl
VERBATIM
COMMENT "Copying vecadd.jl to ${CMAKE_BINARY_DIR}"
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/vecadd.jl
)
# Build target
add_custom_target(
"${JULIA_TARGET_NAME}-build"
ALL
DEPENDS "${CMAKE_BINARY_DIR}/vecadd.jl"
)
if(ROCPROFSYS_INSTALL_EXAMPLES AND TARGET "${JULIA_TARGET_NAME}-build")
install(
PROGRAMS "${CMAKE_BINARY_DIR}/vecadd.jl"
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/rocprofiler-systems/examples
COMPONENT rocprofiler-systems-examples
)
endif()