Giter VIP home page Giter VIP logo

autodmp's Introduction

AutoDMP: Automated DREAMPlace-based Macro Placement

Built upon the GPU-accelerated global placer DREAMPlace and detailed placer ABCDPlace, AutoDMP adds simultaneous macro and standard cell placement enhancements and automatic parameter tuning based on multi-objective hyperparameter Bayesian optimization (MOBO).

  • Simultaneous Macro and Standard Cell Placement Animations
MemPool Group Ariane
MemPool Group Ariane

Publications

  • Anthony Agnesina, Puranjay Rajvanshi, Tian Yang, Geraldo Pradipta, Austin Jiao, Ben Keller, Brucek Khailany, and Haoxing Ren, "AutoDMP: Automated DREAMPlace-based Macro Placement", International Symposium on Physical Design (ISPD), Virtual Event, Mar 26-29, 2023 (preprint) (blog)

Dependency

  • DREAMPlace

    • Commit b8f87eec1f4ddab3ad50bbd43cc5f4ccb0072892
    • Other versions may also work, but not tested
  • GPU architecture compatibility 6.0 or later (Optional)

    • Code has been tested on GPUs with compute compatibility 8.0 on DGX A100 machine.

How to Build

You can build in two ways:

  • Build without Docker by following the instructions of the DREAMPlace build at README_DREAMPlace.md.
  • Use the provided Dockerfile to build an image with the required library dependencies.

How to Run Multi-Objective Bayesian Optimization

To run the test of multi-objective Bayesian optimization on NVDLA NanGate45, call:

./tuner/run_tuner.sh 1 1 test/nvdla_nangate45_51/configspace.json test/nvdla_nangate45_51/NV_NVDLA_partition_c.aux test/nvdla_nangate45_51/nvdla_ppa.json \"\" 20 2 0 0 10 ./tuner test/nvdla_nangate45_51/mobohb_log

This will run on the GPUs for 20 iterations with 2 parallel workers. The different settings for the Bayesian optimization can be found in tuner/run_tuner.sh. The easiest way to explore different search spaces is to modify tuner/configspace.json. You can also run in single-objective mode or modify the parameters of the kernel density estimators in tuner/tuner_train.py.

Physical Design Flow

The physical design flow requires RTL, Python, and Tcl files from the TILOS-MacroPlacement repository. Only the codes that we have added and modified are provided in scripts.

autodmp's People

Contributors

agnesina avatar enzoleo avatar haoxingren avatar jeremiemelo avatar jzh800 avatar limbo018 avatar magic3007 avatar qwepi avatar yihuajack avatar zhaoxueyan1 avatar zhuhanqing avatar zixuanjiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autodmp's Issues

Error while using tuner.sh

The following error occurs when I try to do

./tuner/run_tuner.sh 1 1 test/nvdla_nangate45_51/configspace.json test/nvdla_nangate45_51/NV_NVDLA_partition_c.aux test/nvdla_nangate45_51/nvdla_ppa.json \"\" 20 2 0 0 10 ./tuner test/nvdla_nangate45_51/mobohb_log

Error Log:

File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/./tuner/tuner_train.py", line 28, in <module> from hpbandster.optimizers import BOHB as BOHB File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/hpbandster/optimizers/__init__.py", line 1, in <module> from hpbandster.optimizers.randomsearch import RandomSearch File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/hpbandster/optimizers/randomsearch.py", line 10, in <module> import ConfigSpace as CS File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/__init__.py", line 32, in <module> Traceback (most recent call last): File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/./tuner/tuner_train.py", line 28, in <module> from ConfigSpace.api import (Beta, Categorical, Distribution, Float, Integer, File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/__init__.py", line 2, in <module> from hpbandster.optimizers import BOHB as BOHB import ConfigSpace.api.types as types File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/types/__init__.py", line 1, in <module> File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/hpbandster/optimizers/__init__.py", line 1, in <module> from ConfigSpace.api.types.categorical import Categorical File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/types/categorical.py", line 8, in <module> from ConfigSpace.hyperparameters import (CategoricalHyperparameter, from hpbandster.optimizers.randomsearch import RandomSearch File "ConfigSpace/hyperparameters.pyx", line 34, in init ConfigSpace.hyperparameters File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/hpbandster/optimizers/randomsearch.py", line 10, in <module> import ConfigSpace as CS File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/__init__.py", line 32, in <module> ImportError: cannot import name duplicates_everseen from ConfigSpace.api import (Beta, Categorical, Distribution, Float, Integer, File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/__init__.py", line 2, in <module> import ConfigSpace.api.types as types File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/types/__init__.py", line 1, in <module> from ConfigSpace.api.types.categorical import Categorical File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/types/categorical.py", line 8, in <module> from ConfigSpace.hyperparameters import (CategoricalHyperparameter, File "ConfigSpace/hyperparameters.pyx", line 34, in init ConfigSpace.hyperparameters ImportError: cannot import name duplicates_everseen Traceback (most recent call last): File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/./tuner/tuner_train.py", line 28, in <module> from hpbandster.optimizers import BOHB as BOHB File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/hpbandster/optimizers/__init__.py", line 1, in <module> from hpbandster.optimizers.randomsearch import RandomSearch File "/home/ishraqtashdid/projects/ai_assured_chip_design/AutoDMP/hpbandster/optimizers/randomsearch.py", line 10, in <module> import ConfigSpace as CS File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/__init__.py", line 32, in <module> from ConfigSpace.api import (Beta, Categorical, Distribution, Float, Integer, File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/__init__.py", line 2, in <module> import ConfigSpace.api.types as types File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/types/__init__.py", line 1, in <module> from ConfigSpace.api.types.categorical import Categorical File "/home/ishraqtashdid/.local/lib/python3.10/site-packages/ConfigSpace/api/types/categorical.py", line 8, in <module> from ConfigSpace.hyperparameters import (CategoricalHyperparameter, File "ConfigSpace/hyperparameters.pyx", line 34, in init ConfigSpace.hyperparameters ImportError: cannot import name duplicates_everseen

build failed

I used the docker image from limbo018/dreamplace:cuda. And when I try to build AutoDMP, several functions are not matched or not found, the log is below.

In file included from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:37:0,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/ATen/core/Tensor.h:3,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/function_hook.h:3,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/cpp_hook.h:2,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/variable.h:6,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/autograd.h:3,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/autograd.h:3,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
from /home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
from /home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/../utility/src/torch.h:13,
from /home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/src/dct.h:9,
from /home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/src/dct.cpp:6:
/home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/ATen/core/TensorBase.h:548:7: note: candidate: template T* at::TensorBase::data_ptr() const
T * data_ptr() const;
^~~~~~~~
/home/grads/d/donghao/.local/lib/python3.8/site-packages/torch/include/ATen/core/TensorBase.h:548:7: note: template argument deduction/substitution failed:
In file included from /home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/src/dct.h:9:0,
from /home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/src/dct.cpp:6:
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/src/dct.cpp: In lambda function:
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/../utility/src/torch.h:32:3: error: 'AT_PRIVATE_CASE_TYPE' was not declared in this scope
AT_PRIVATE_CASE_TYPE(NAME, enum_type, type, VA_ARGS)
^
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/../utility/src/torch.h:32:3: note: in definition of macro 'DREAMPLACE_PRIVATE_CASE_TYPE'
AT_PRIVATE_CASE_TYPE(NAME, enum_type, type, VA_ARGS)
^~~~~~~~~~~~~~~~~~~~
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/src/dct.cpp:174:3: note: in expansion of macro 'DREAMPLACE_DISPATCH_FLOATING_TYPES'
DREAMPLACE_DISPATCH_FLOATING_TYPES(x, "idct2_forward", [&] {
^
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/../utility/src/torch.h:32:3: note: suggested alternative: 'DREAMPLACE_PRIVATE_CASE_TYPE'
AT_PRIVATE_CASE_TYPE(NAME, enum_type, type, VA_ARGS)
^
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/../utility/src/torch.h:32:3: note: in definition of macro 'DREAMPLACE_PRIVATE_CASE_TYPE'
AT_PRIVATE_CASE_TYPE(NAME, enum_type, type, VA_ARGS)
^~~~~~~~~~~~~~~~~~~~
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/src/dct.cpp:174:3: note: in expansion of macro 'DREAMPLACE_DISPATCH_FLOATING_TYPES'
DREAMPLACE_DISPATCH_FLOATING_TYPES(x, "idct2_forward", [&] {
^
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/../utility/src/torch.h:32:58: error: expected primary-expression before ')' token
AT_PRIVATE_CASE_TYPE(NAME, enum_type, type, VA_ARGS)
^
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/../utility/src/torch.h:75:7: note: in expansion of macro 'DREAMPLACE_PRIVATE_CASE_TYPE'
DREAMPLACE_PRIVATE_CASE_TYPE(NAME, at::ScalarType::Float, float, VA_ARGS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/grads/d/donghao/AutoDMP/dreamplace/ops/dct/src/dct.cpp:174:3: note: in expansion of macro 'DREAMPLACE_DISPATCH_FLOATING_TYPES'
DREAMPLACE_DISPATCH_FLOATING_TYPES(x, "idct2_forward", [&] {
^
dreamplace/ops/dct/CMakeFiles/dct_cpp.dir/build.make:78: recipe for target 'dreamplace/ops/dct/CMakeFiles/dct_cpp.dir/src/dct.cpp.o' failed
make[2]: *** [dreamplace/ops/dct/CMakeFiles/dct_cpp.dir/src/dct.cpp.o] Error 1
make[2]: Leaving directory '/home/grads/d/donghao/AutoDMP/build'
CMakeFiles/Makefile2:2811: recipe for target 'dreamplace/ops/dct/CMakeFiles/dct_cpp.dir/all' failed
make[1]: *** [dreamplace/ops/dct/CMakeFiles/dct_cpp.dir/all] Error 2
make[1]: Leaving directory '/home/grads/d/donghao/AutoDMP/build'
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Singularity> make install

CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined

I have this error with make command

[ 69%] Building NVCC (Device) object dreamplace/ops/pin_pos/CMakeFiles/pin_pos_cuda_segment_cuda_tmp.dir/src/pin_pos_cuda_segment_cuda_tmp_generated_pin_pos_cuda_segment_kernel.cu.o
.....
cuda12-3-0/include/cub/util_namespace.cuh:46:2: error: #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
 #error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
  ^~~~~

Software versions:

CUDA version:
Cuda compilation tools, release 12.3, V12.3.52
Build cuda_12.3.r12.3/compiler.33281558_0

CC: gcc (GCC) 7.5.0
CXX: c++ (GCC) 7.5.0

GPUs compute compatibility: 7.5
GPU Driver Version: 530.41.03

Can you give some idea how to solve this? Which versions of software works?
I also tried CUDA 10.1 but still not work.
I also tried cmake arguments: -DBUILD_WITH_CUDA_CUB=ON -DUSE_CUDA=ON and not work.
Thank you.

KeyError while running the initial test

Hello,

When I run the following command in the AutoDMP docker env.

./tuner/run_tuner.sh 1 1 test/nvdla_nangate45_51/configspace.json test/nvdla_nangate45_51/NV_NVDLA_partition_c.aux test/nvdla_nangate45_51/nvdla_ppa.json \"\" 20 2 0 0 10 ./tuner test/nvdla_nangate45_51/mobohb_log

The master process runs into a key error as shown below

root@3504aa7e631b:/AutoDMP# Starting master process
Master args: Namespace(cfgSearchFile='test/nvdla_nangate45_51/configspace.json', congestion_ratio=0.5, density_ratio=0.5, gpu_pool=[-1], log_dir='test/nvdla_nangate45_51/mobohb_log/NV_NVDLA_partition_c', max_budget=1, min_budget=1, min_points_in_model=10, multiobj=True, n_iterations=20, n_samples=64, n_workers=2, num_pareto=5, run_args={'aux_input': 'test/nvdla_nangate45_51/NV_NVDLA_partition_c.aux'}, run_id='0', worker=False, worker_id=0)
Traceback (most recent call last):
  File "./tuner/tuner_train.py", line 167, in <module>
    configspace=AutoDMPWorker.get_configspace(args.cfgSearchFile),
  File "/AutoDMP/tuner/tuner_worker.py", line 173, in get_configspace
    cs = CS_JSON.read(f.read())
  File "/opt/conda/lib/python3.8/site-packages/ConfigSpace/read_and_write/json.py", line 444, in read
    _construct_hyperparameter(
  File "/opt/conda/lib/python3.8/site-packages/ConfigSpace/read_and_write/json.py", line 490, in _construct_hyperparameter
    q=hyperparameter["q"],
KeyError: 'q'

Any pointers on how to get around this issue?

build error

Linux hoon 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

python: 3.11.4
torch: 2.0.0+cu117
gcc: 7.5.0
cuda: 11.6

Python is higher version than required but in my machine, DREAMPlace work well.
Below is my error log. Thank you.

[ 62%] Building CXX object dreamplace/ops/density_map/CMakeFiles/density_map_cpp.dir/src/density_map.cpp.o
cd /mnt/work/AutoDMP/build/dreamplace/ops/density_map && /usr/bin/c++ -DENABLE_CUDA=1 -DTORCH_EXTENSION_NAME=density_map_cpp -DTORCH_MAJOR_VERSION=2 -DTORCH_MINOR_VERSION=0 -D_GLIBCXX_USE_CXX11_ABI=0 -Ddensity_map_cpp_EXPORTS -I/mnt/work/AutoDMP/dreamplace/ops/density_map/.. -I/usr/local/cuda-11.6/include -isystem /mnt/work/AutoDMP/thirdparty/pybind11/include -isystem /home/hoon/miniconda3/include/python3.11 -isystem /home/hoon/miniconda3/lib/python3.11/site-packages/torch/include -isystem /home/hoon/miniconda3/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -O3 -DNDEBUG -fPIC -fvisibility=hidden -flto -fno-fat-lto-objects -D_GLIBCXX_USE_CXX11_ABI=0 -fopenmp -std=gnu++14 -MD -MT dreamplace/ops/density_map/CMakeFiles/density_map_cpp.dir/src/density_map.cpp.o -MF CMakeFiles/density_map_cpp.dir/src/density_map.cpp.o.d -o CMakeFiles/density_map_cpp.dir/src/density_map.cpp.o -c /mnt/work/AutoDMP/dreamplace/ops/density_map/src/density_map.cpp
CMake Error at pin_pos_cuda_segment_cuda_tmp_generated_pin_pos_cuda_segment_kernel.cu.o.Release.cmake:220 (message):
Error generating
/mnt/work/AutoDMP/build/dreamplace/ops/pin_pos/CMakeFiles/pin_pos_cuda_segment_cuda_tmp.dir/src/./pin_pos_cuda_segment_cuda_tmp_generated_pin_pos_cuda_segment_kernel.cu.o

dreamplace/ops/pin_pos/CMakeFiles/pin_pos_cuda_segment_cuda_tmp.dir/build.make:78: recipe for target 'dreamplace/ops/pin_pos/CMakeFiles/pin_pos_cuda_segment_cuda_tmp.dir/src/pin_pos_cuda_segment_cuda_tmp_generated_pin_pos_cuda_segment_kernel.cu.o' failed
make[2]: *** [dreamplace/ops/pin_pos/CMakeFiles/pin_pos_cuda_segment_cuda_tmp.dir/src/pin_pos_cuda_segment_cuda_tmp_generated_pin_pos_cuda_segment_kernel.cu.o] Error 1
make[2]: Leaving directory '/mnt/work/AutoDMP/build'
CMakeFiles/Makefile2:3259: recipe for target 'dreamplace/ops/pin_pos/CMakeFiles/pin_pos_cuda_segment_cuda_tmp.dir/all' failed
make[1]: *** [dreamplace/ops/pin_pos/CMakeFiles/pin_pos_cuda_segment_cuda_tmp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

./tuner/run_tuner.sh error

  • CUDA-11.3
  • torch 1.12.1 with 11.3
    run ./tuner/run_tuner.sh meet error
    `(autodmp) ljj@ljj-System-Product-Name:~/ljj/AutoDMP$ sudo -E ./tuner/run_tuner.sh 1 1 test/nvdla_nangate45_51/configspace.json test/nvdla_nangate45_51/NV_NVDLA_partition_c.aux test/nvdla_nangate45_51/nvdla_ppa.json "" 20 2 0 0 10 ./tuner test/nvdla_nangate45_51/mobohb_log
    Parameters: 1 1 test/nvdla_nangate45_51/configspace.json test/nvdla_nangate45_51/NV_NVDLA_partition_c.aux test/nvdla_nangate45_51/nvdla_ppa.json "" 20 2 0 0 10 ./tuner test/nvdla_nangate45_51/mobohb_log

Parameters: 190

(autodmp) ljj@ljj-System-Product-Name:~/ljj/AutoDMP$ Traceback (most recent call last):
File "./tuner/tuner_train.py", line 36, in
from tuner_worker import AutoDMPWorker
File "/home/ljj/ljj/AutoDMP/tuner/tuner_worker.py", line 28, in
from dreamplace.Placer import PlacementEngine
File "/home/ljj/ljj/AutoDMP/dreamplace/Placer.py", line 42, in
Traceback (most recent call last):
File "./tuner/tuner_train.py", line 36, in
import dreamplace.NonLinearPlace as NonLinearPlace
File "/home/ljj/ljj/AutoDMP/dreamplace/NonLinearPlace.py", line 39, in
import dreamplace.BasicPlace as BasicPlace
File "/home/ljj/ljj/AutoDMP/dreamplace/BasicPlace.py", line 48, in
from tuner_worker import AutoDMPWorker
import dreamplace.ops.independent_set_matching.independent_set_matching as independent_set_matching
File "/home/ljj/ljj/AutoDMP/tuner/tuner_worker.py", line 28, in
File "/home/ljj/ljj/AutoDMP/dreamplace/ops/independent_set_matching/independent_set_matching.py", line 32, in
import dreamplace.ops.independent_set_matching.independent_set_matching_cuda as independent_set_matching_cuda
ImportError: /home/ljj/ljj/AutoDMP/dreamplace/ops/independent_set_matching/independent_set_matching_cuda.cpython-38-x86_64-linux-gnu.so: undefined symbol: curandCreateGenerator
from dreamplace.Placer import PlacementEngine
File "/home/ljj/ljj/AutoDMP/dreamplace/Placer.py", line 42, in
import dreamplace.NonLinearPlace as NonLinearPlace
File "/home/ljj/ljj/AutoDMP/dreamplace/NonLinearPlace.py", line 39, in
import dreamplace.BasicPlace as BasicPlace
File "/home/ljj/ljj/AutoDMP/dreamplace/BasicPlace.py", line 48, in
import dreamplace.ops.independent_set_matching.independent_set_matching as independent_set_matching
File "/home/ljj/ljj/AutoDMP/dreamplace/ops/independent_set_matching/independent_set_matching.py", line 32, in
import dreamplace.ops.independent_set_matching.independent_set_matching_cuda as independent_set_matching_cuda
ImportError: /home/ljj/ljj/AutoDMP/dreamplace/ops/independent_set_matching/independent_set_matching_cuda.cpython-38-x86_64-linux-gnu.so: undefined symbol: curandCreateGenerator
Traceback (most recent call last):
File "./tuner/tuner_train.py", line 36, in
from tuner_worker import AutoDMPWorker
File "/home/ljj/ljj/AutoDMP/tuner/tuner_worker.py", line 28, in
from dreamplace.Placer import PlacementEngine
File "/home/ljj/ljj/AutoDMP/dreamplace/Placer.py", line 42, in
import dreamplace.NonLinearPlace as NonLinearPlace
File "/home/ljj/ljj/AutoDMP/dreamplace/NonLinearPlace.py", line 39, in
import dreamplace.BasicPlace as BasicPlace
File "/home/ljj/ljj/AutoDMP/dreamplace/BasicPlace.py", line 48, in
import dreamplace.ops.independent_set_matching.independent_set_matching as independent_set_matching
File "/home/ljj/ljj/AutoDMP/dreamplace/ops/independent_set_matching/independent_set_matching.py", line 32, in
import dreamplace.ops.independent_set_matching.independent_set_matching_cuda as independent_set_matching_cuda
ImportError: /home/ljj/ljj/AutoDMP/dreamplace/ops/independent_set_matching/independent_set_matching_cuda.cpython-38-x86_64-linux-gnu.so: undefined symbol: curandCreateGenerator
`
How to fix it

RTX 4070 not supported by Docker

I was trying to build AutoDMP and successfully was able to build with the Dockerfile that was provided. However, I am unable to run the dockerfile with my GPU (RTX 4070) enabled. I followed the Driver Installation guideline and ran the sample workload to verify my installation.

But when I use docker to docker run --gpus all -t autodmp to run the docker image, it says

WARNING: Detected NVIDIA NVIDIA GeForce RTX 4070 GPU, which is not yet supported in this version of the container ERROR: No supported GPU(s) detected to run this container

I created an issue at nvidia-container-toolkir but it was later determined that it is possibly an issue with AutoDMP as my toolkit runs properly on sample workloads with my GPU.

TypeError: 'NoneType' object is not subscriptable

When I run the code,there were errors occured

File "/home/cjq/EDA/AutoDMP-main/hpbandster/optimizers/config_generators/mobohb.py", line 293, in new_result
    "Error": job.result["loss"][0],
TypeError: 'NoneType' object is not subscriptab

and

 File "/home/cjq/EDA/AutoDMP-main/dreamplace/NonLinearPlace.py", line 426, in one_descent_step    
   cur_metric.objective = optimizer.param_groups[0]["obj_k_1"][
IndexError: list index out of range

For the first one, because job.result in AutoDMP-main/hpbandster/optimizers/config_generators/mobohb.py was None, this will cause an error when using job.result["loss"][0]. But I don't know how to modify

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.