UCLA-VAST / AutoDSE

ACM TODAES Best Paper Award, 2022
BSD 3-Clause "New" or "Revised" License
24 stars 7 forks source link

the problem when run autodse #8

Open alienwan34 opened 1 year ago

alienwan34 commented 1 year ago

i have successfully invoke AutoDSE in docker, but i don't know how to run AutoDSE . It's difficult to understand the parameters of each command (autodse/dse/ds_generator). Is there a tutorial for AutoDSE ? 1679883204029

I try to run autodse, but it seemes that the parameters are not correct.

1679883270064 could you please give me an example to perform (autodse/dse/ds_generator)

atefehsz commented 1 year ago

To run AutoDSE, you should first have a Merlin project. If you don't know how to use Merlin, you can learn by going through this repo. To make sure that you can run Merlin on AutoDSE's examples, add Merlin's Makefile and adjust the kernel path, device, etc. accordingly. Then, you can run make mcc_estimate to start the synthesis. If you could run Merlin successfully, you can start using AutoDSE to optimize the kernel.

In the autodse command, the first argument would be the path to your Merlin project, the second argument is the location in which you want AutoDSE to store the log files, the third one is the path to the C kernel, and finally, you should use the keyword fastgen (not -fastgen).

alienwan34 commented 1 year ago

Thank you very much! I build the merlin-compiler from https://github.com/Xilinx/merlin-compiler and run make mcc_estimate. But it crash with the following error. I have set $XILINX_XRT to the install directory of xinlinx xrt and find opencl header files. what dose this ERROR mean? please help me.

1680003382285

64054da85d09e05dc3b7f2e8d0b6228

atefehsz commented 1 year ago

I guess the problem is that you haven't sourced the Vitis/XRT setup files. You can try running the following two commands to see if it helps:

$ source /PATH/TO/VITIS/settings64.sh
$ source /opt/xilinx/xrt/setup.sh
alienwan34 commented 1 year ago

I have already run these two commands, but it still report the same error

alienwan34 commented 1 year ago

i can run make mcc_estimate successfully now, but it still report error when run autodse and ds_generator 1680486931391 1680486983678 1680487209406

alienwan34 commented 1 year ago

i replace the ds_generator with the one in OS_compatible, then ds_generator can run successfully. But when i try to run autodse, it report the following error. "Cannot find any kernel files with auto pragma". i don't know what does that mean. i have given the kernel file, and i can successfully run make mcc_estimate in the directory of merlin project 1680492801133

image

1680493073300 1680493095603

atefehsz commented 1 year ago

AutoDSE needs to see candidate pragmas with auto keyword as shown in the tutorial to do the search. If you want AutoDSE's ds_generator to add the pragmas, put the statements of the for loop into {}.

alienwan34 commented 1 year ago

the ds_generator can successfully add pragmas with keyword 'auto' now in the generated 'rose_merlinxxxx.cpp', but the command autodse still fails. it reports ' Command "make mcc_estimate" has non-zero exit code' in eval.log. but I can successfully run make mcc_estimate in the merlin project director. I don't know if there is a problem with the input file organization or the running directory. 1680596774927 1680596378155 1680597364182 1680597402922

atefehsz commented 1 year ago

The Merlin project that AutoDSE runs is stored inside the evaluate directory of your working dir. You can investigate it to see what the problem is. Most likely the problem is that your Makefile has a relative path to mcc_common.mk and with the new project directory that you defined, the path doesn't work anymore.

BTW, if you're using this Makefile, add -d11 to the CMP_OPT and LNK_OPT options so that AutoDSE can find all the relevant information it's looking for.

LongshanShang commented 7 months ago

I can't Invoke Autodse,but i successfully run docker-build-sh,must the os be centos? And should i install the merlin,if so,where should i install it? Could you help me?Thank you very much

atefehsz commented 7 months ago

You need to have Merlin installed for AutoDSE to work. You can get our Merlin image from here: https://github.com/UCLA-VAST/Merlin-UCLA