diff --git a/.github/workflows/interactive.yml b/.github/workflows/interactive.yml index 7c5610e28374..80a65d8934cf 100644 --- a/.github/workflows/interactive.yml +++ b/.github/workflows/interactive.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-20.04 if: ${{ github.repository == 'alibaba/GraphScope' }} container: - image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.23.0 + image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.24.2-amd64 steps: - uses: actions/checkout@v4 @@ -353,7 +353,7 @@ jobs: test-cmake-options: runs-on: ubuntu-20.04 container: - image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.23.0 + image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.24.2-amd64 strategy: matrix: BUILD_TEST: [ON, OFF] @@ -373,7 +373,7 @@ jobs: test-AOCC-compilation: runs-on: ubuntu-20.04 container: - image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.23.0 + image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.24.2-amd64 steps: - uses: actions/checkout@v4 @@ -402,7 +402,7 @@ jobs: runs-on: ubuntu-20.04 if: ${{ github.repository == 'alibaba/GraphScope' }} container: - image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.23.0 + image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.24.2-amd64 steps: - uses: actions/checkout@v4 @@ -553,4 +553,4 @@ jobs: cd ${GITHUB_WORKSPACE}/flex/build/ SCHEMA_FILE=${GITHUB_WORKSPACE}/flex/tests/rt_mutable_graph/movie_schema_test.yaml BULK_LOAD_FILE=${GITHUB_WORKSPACE}/flex/tests/rt_mutable_graph/movie_import_test.yaml - GLOG_v=10 ./bin/bulk_loader -g ${SCHEMA_FILE} -l ${BULK_LOAD_FILE} -d /tmp/csr-data-dir/ \ No newline at end of file + GLOG_v=10 ./bin/bulk_loader -g ${SCHEMA_FILE} -l ${BULK_LOAD_FILE} -d /tmp/csr-data-dir/ diff --git a/.github/workflows/k8s-ci.yml b/.github/workflows/k8s-ci.yml index aec2ad1476c6..d167e6a74004 100644 --- a/.github/workflows/k8s-ci.yml +++ b/.github/workflows/k8s-ci.yml @@ -666,7 +666,7 @@ jobs: if: false # No need to run this test for now needs: [build-gie-experimental] runs-on: [self-hosted, ubuntu2004] - if: ${{ github.repository == 'alibaba/GraphScope' }} + # if: ${{ github.repository == 'alibaba/GraphScope' }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/networkx-forward-algo-nightly.yml b/.github/workflows/networkx-forward-algo-nightly.yml index f395b0a4a7a3..4fe4993ca5d4 100644 --- a/.github/workflows/networkx-forward-algo-nightly.yml +++ b/.github/workflows/networkx-forward-algo-nightly.yml @@ -17,7 +17,7 @@ jobs: run: shell: bash --noprofile --norc -eo pipefail {0} container: - image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.22.0 + image: registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:v0.24.2-amd64 options: --shm-size 4096m diff --git a/analytical_engine/core/fragment/dynamic_fragment.h b/analytical_engine/core/fragment/dynamic_fragment.h index 862d55fe4cf4..ab5afc8bd64b 100644 --- a/analytical_engine/core/fragment/dynamic_fragment.h +++ b/analytical_engine/core/fragment/dynamic_fragment.h @@ -428,6 +428,14 @@ class DynamicFragment return res; } + inline size_t GetOutgoingEdgeNum() const { + return oe_.head_edge_num() + is_selfloops_.count(); + } + + inline size_t GetIncomingEdgeNum() const { + return ie_.head_edge_num() + is_selfloops_.count(); + } + using base_t::InnerVertices; using base_t::IsInnerVertex; using base_t::OuterVertices; diff --git a/analytical_engine/core/fragment/dynamic_projected_fragment.h b/analytical_engine/core/fragment/dynamic_projected_fragment.h index 242c54b68982..63d8acf1193b 100644 --- a/analytical_engine/core/fragment/dynamic_projected_fragment.h +++ b/analytical_engine/core/fragment/dynamic_projected_fragment.h @@ -479,6 +479,14 @@ class DynamicProjectedFragment { inline size_t GetEdgeNum() const { return fragment_->GetEdgeNum(); } + inline size_t GetOutgoingEdgeNum() const { + return fragment_->GetOutgoingEdgeNum(); + } + + inline size_t GetIncomingEdgeNum() const { + return fragment_->GetIncomingEdgeNum(); + } + inline bool IsInnerVertex(const vertex_t& v) const { return fragment_->IsInnerVertex(v); } @@ -639,14 +647,20 @@ class DynamicProjectedFragment { return fragment_->IEDests(v); } + inline size_t IEDestsSize() const { return fragment_->IEDestsSize(); } + inline grape::DestList OEDests(const vertex_t& v) const { return fragment_->OEDests(v); } + inline size_t OEDestsSize() const { return fragment_->OEDestsSize(); } + inline grape::DestList IOEDests(const vertex_t& v) const { return fragment_->IOEDests(v); } + inline size_t IOEDestsSize() const { return fragment_->IOEDestsSize(); } + inline const std::vector& MirrorVertices(fid_t fid) const { return fragment_->MirrorVertices(fid); } @@ -789,6 +803,14 @@ class DynamicProjectedFragment { inline size_t GetEdgeNum() const { return fragment_->GetEdgeNum(); } + inline size_t GetOutgoingEdgeNum() const { + return fragment_->GetOutgoingEdgeNum(); + } + + inline size_t GetIncomingEdgeNum() const { + return fragment_->GetIncomingEdgeNum(); + } + inline bool IsInnerVertex(const vertex_t& v) const { return fragment_->IsInnerVertex(v); } @@ -934,14 +956,20 @@ class DynamicProjectedFragment { return fragment_->IEDests(v); } + inline size_t IEDestsSize() const { return fragment_->IEDestsSize(); } + inline grape::DestList OEDests(const vertex_t& v) const { return fragment_->OEDests(v); } + inline size_t OEDestsSize() const { return fragment_->OEDestsSize(); } + inline grape::DestList IOEDests(const vertex_t& v) const { return fragment_->IOEDests(v); } + inline size_t IOEDestsSize() const { return fragment_->IOEDestsSize(); } + inline const std::vector& MirrorVertices(fid_t fid) const { return fragment_->MirrorVertices(fid); } diff --git a/k8s/internal/Makefile b/k8s/internal/Makefile index 5493c425c167..cd7fb8dbbe8b 100644 --- a/k8s/internal/Makefile +++ b/k8s/internal/Makefile @@ -1,6 +1,7 @@ -MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) -WORKING_DIR := $(dir $(MKFILE_PATH)) -SHORT_SHA := $(shell git rev-parse --short HEAD) +MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) +WORKING_DIR := $(dir $(MKFILE_PATH)) +SHORT_SHA := $(shell git rev-parse --short HEAD) +VINEYARD_VERSION_FILE := ${WORKING_DIR}/../../V6D_VERSION .PHONY: graphscope-jupyter-manylinux2014-py3 graphscope-py3-package graphscope-client-py3-package .PHONY: graphscope-darwin-py3 graphscope-client-darwin-py3 @@ -43,7 +44,7 @@ GRAPHSCOPE_HOME ?= /usr/local INSTALL_PREFIX ?= /opt/graphscope VERSION ?= latest -VINEYARD_VERSION ?= v0.23.0 +VINEYARD_VERSION ?= $(shell cat $(VINEYARD_VERSION_FILE)) PROFILE ?= release CI ?= false diff --git a/python/graphscope/gsctl/scripts/install_deps.sh b/python/graphscope/gsctl/scripts/install_deps.sh index 9213e3d59bc3..909320896bc2 100755 --- a/python/graphscope/gsctl/scripts/install_deps.sh +++ b/python/graphscope/gsctl/scripts/install_deps.sh @@ -285,20 +285,22 @@ install_glog() { rm -rf "${tempdir:?}/${directory:?}" "${tempdir:?}/${file:?}" } -# boost for centos +# boost with leaf for centos and ubuntu install_boost() { if [[ -f "${install_prefix}/include/boost/version.hpp" ]]; then return 0 fi pushd "${tempdir}" || exit - directory="boost_1_74_0" + directory="boost_1_75_0" file="${directory}.tar.gz" - url="https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source" + url="https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source" url=$(set_to_cn_url ${url}) download_and_untar "${url}" "${file}" "${directory}" pushd ${directory} || exit + # seastar needs filesystem program_options thread unit_test_framework + # interactive needs context regex date_time ./bootstrap.sh --prefix="${install_prefix}" \ - --with-libraries=system,filesystem,context,program_options,regex,thread,random,chrono,atomic,date_time + --with-libraries=system,filesystem,context,program_options,regex,thread,random,chrono,atomic,date_time,test ./b2 install link=shared runtime-link=shared variant=release threading=multi popd || exit popd || exit @@ -555,8 +557,6 @@ install_vineyard() { fi pushd ${directory} || exit - # make sure it complain loudly if installing vineyard fails - set -e cmake . -DCMAKE_PREFIX_PATH="${install_prefix}" \ -DCMAKE_INSTALL_PREFIX="${V6D_PREFIX}" \ -DBUILD_VINEYARD_TESTS=OFF \ @@ -699,7 +699,7 @@ install_basic_packages() { } ANALYTICAL_MACOS=("apache-arrow" "boost" "gflags" "glog" "open-mpi" "openssl@1.1" "protobuf" "grpc" "rapidjson" "msgpack-cxx" "librdkafka" "patchelf") -ANALYTICAL_UBUNTU=("libboost-all-dev" "libopenmpi-dev" "libgflags-dev" "libgoogle-glog-dev" "libprotobuf-dev" "libgrpc++-dev" "libmsgpack-dev" "librdkafka-dev" "protobuf-compiler-grpc" "rapidjson-dev") +ANALYTICAL_UBUNTU=("libopenmpi-dev" "libgflags-dev" "libgoogle-glog-dev" "libprotobuf-dev" "libgrpc++-dev" "libmsgpack-dev" "librdkafka-dev" "protobuf-compiler-grpc" "rapidjson-dev") ANALYTICAL_CENTOS_7=("librdkafka-devel" "msgpack-devel" "rapidjson-devel") ANALYTICAL_CENTOS_8=("${ANALYTICAL_CENTOS_7[@]}" "boost-devel" "gflags-devel" "glog-devel") @@ -732,6 +732,8 @@ install_analytical_dependencies() { ${SUDO} apt-get install -y libarrow-dev=${ARROW_VERSION}-1 libarrow-dataset-dev=${ARROW_VERSION}-1 libarrow-acero-dev=${ARROW_VERSION}-1 libparquet-dev=${ARROW_VERSION}-1 rm /tmp/apache-arrow-apt-source-latest-*.deb fi + # install boost >= 1.75 for leaf + install_boost else if [[ "${OS_VERSION}" -eq "7" ]]; then ${SUDO} yum install -y ${ANALYTICAL_CENTOS_7[*]} diff --git a/python/setup_gsctl.py b/python/setup_gsctl.py index 3d118445204f..8a918be4e18a 100644 --- a/python/setup_gsctl.py +++ b/python/setup_gsctl.py @@ -46,7 +46,7 @@ def parse_version(root, **kwargs): if platform.system() == "Linux" and platform.machine() == "aarch64" else "click >= 8.1.6" ), - "graphscope-flex >= 0.27.0", + "graphscope-flex >= 0.28.0", "treelib", "packaging", "pyyaml",