Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: Unable to find class "F90MHz" in packages: "firesim.firesim, firesim.configs, firesim.util, midas", did you misspell it?, when running example single node simulation #1524

Open
3 tasks done
SabraO opened this issue May 21, 2023 · 0 comments
Labels
bug Something isn't working

Comments

@SabraO
Copy link

SabraO commented May 21, 2023

Background Work

FireSim Version and Hash

1.16.0-0-gdf095fb4b

OS Setup

Linux ip-192-168-1-61.ec2.internal 3.10.0-1160.81.1.el7.x86_64 #1 SMP Fri Dec 16 17:29:43 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009
Codename: Core

Other Setup

I followed the documentation to setup FireSim on AWS, however I came across multiple issues.

  1. The documentation is outdated.
    • installing pip by following this - but it was straightforward to install once I figured out the python version in the ec2 instance and installed pip accordingly.
    • finding the AMI here - It's FPGA Developer AMI - 1.12.2-40257ab5-6688-4c95-97d1-e251a40fd1fc now.
  2. Problems with running simulations.
    • I came across the error assert len(response['Images']) == 1 on get_f1_ami_id when I executed the command firesim launchrunfarm. Thankfully, the workaround mentioned in assert len(response['Images']) == 1 on get_f1_ami_id #1313 worked for me.
    • But now when I execute the firesim infrasetup command I get an issue I believe has to do with outdated scripts
      • comparing the sample_config_build_recipes.yaml file from FireSim versions 1.15.1 and 1.16.0, I see that instead of the PLATFORM_CONFIG variable holding the fpga frequency like WithAutoILA_F90MHz_BaseF1Config, it's a separate argument named fpga_frequency, which makes sense. However, the Config file in the midas folder which used to have the class class F90MHz extends WithDesiredHostFrequency(90) is now missing, which is why I think the error occurs. Seems like the Config file in the midas folder has been updated, however the script generating the make command to setup/build the infrastructure is broken.

I would appreciate some help in debugging this issue, specifically to figure out the versions of compatible components.

Current Behavior

FireSim Manager. Docs: https://docs.fires.im
Running: infrasetup

vitis_firesim_rocket_singlecore_no_nic is overriding a deploy triplet in your config_hwdb.yaml file. Make sure you understand why!
vitis_firesim_gemmini_rocket_singlecore_no_nic is overriding a deploy triplet in your config_hwdb.yaml file. Make sure you understand why!
Building FPGA software driver for FireSim-WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig-F90MHz_BaseF1Config
[localhost] local: pwd
[localhost] run: make DESIGN=FireSim TARGET_CONFIG=WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig PLATFORM_CONFIG=F90MHz_BaseF1Config PLATFORM=f1 f1
[localhost] out: java -cp $(cat /home/centos/firesim/sim/generated-src/firesim-main.classpath) midas.stage.GoldenGateMain
[localhost] out: -i /home/centos/firesim/sim/generated-src/f1/FireSim-WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig-F90MHz_BaseF1Config/firesim.firesim.FireSim.WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig.fir
[localhost] out: -td /home/centos/firesim/sim/generated-src/f1/FireSim-WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig-F90MHz_BaseF1Config
[localhost] out: -faf /home/centos/firesim/sim/generated-src/f1/FireSim-WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig-F90MHz_BaseF1Config/firesim.firesim.FireSim.WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig.anno.json
[localhost] out: -ggcp firesim.firesim
[localhost] out: -ggcs F90MHz_BaseF1Config
[localhost] out: --output-filename-base FireSim-generated
[localhost] out: --no-dedup
[localhost] out:
[localhost] out: Picked up JAVA_TOOL_OPTIONS: -Xmx16G -Xss8M -Dsbt.supershell=false -Djava.io.tmpdir=/home/centos/firesim/sim/.java_tmp
[localhost] out: Exception in thread "main" java.lang.Exception: Unable to find class "F90MHz" in packages: "firesim.firesim, firesim.configs, firesim.util, midas", did you misspell it?
[localhost] out: at midas.stage.phases.CreateParametersFromConfigString$.getConfig$1(CreateParametersInstancePhase.scala:26)
[localhost] out: at midas.stage.phases.CreateParametersFromConfigString$.$anonfun$getConfigWithFallback$1(CreateParametersInstancePhase.scala:40)
[localhost] out: at scala.collection.immutable.ArraySeq.foldRight(ArraySeq.scala:237)
[localhost] out: at midas.stage.phases.CreateParametersFromConfigString$.getConfigWithFallback(CreateParametersInstancePhase.scala:39)
[localhost] out: at midas.stage.phases.CreateParametersFromConfigString$.apply(CreateParametersInstancePhase.scala:55)
[localhost] out: at midas.stage.phases.CreateParametersInstancePhase.transform(CreateParametersInstancePhase.scala:69)
[localhost] out: at midas.stage.phases.CreateParametersInstancePhase.transform(CreateParametersInstancePhase.scala:59)
[localhost] out: at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:38)
[localhost] out: at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:15)
[localhost] out: at firrtl.options.Translator.transform(Phase.scala:248)
[localhost] out: at firrtl.options.Translator.transform$(Phase.scala:248)
[localhost] out: at firrtl.options.phases.DeletedWrapper.transform(DeletedWrapper.scala:15)
[localhost] out: at midas.stage.GoldenGateStage.$anonfun$run$1(GoldenGateStage.scala:26)
[localhost] out: at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:183)
[localhost] out: at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:179)
[localhost] out: at scala.collection.immutable.List.foldLeft(List.scala:79)
[localhost] out: at midas.stage.GoldenGateStage.run(GoldenGateStage.scala:26)
[localhost] out: at firrtl.options.Stage$$anon$1.transform(Stage.scala:43)
[localhost] out: at firrtl.options.Stage$$anon$1.transform(Stage.scala:43)
[localhost] out: at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:38)
[localhost] out: at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:15)
[localhost] out: at firrtl.options.Translator.transform(Phase.scala:248)
[localhost] out: at firrtl.options.Translator.transform$(Phase.scala:248)
[localhost] out: at firrtl.options.phases.DeletedWrapper.transform(DeletedWrapper.scala:15)
[localhost] out: at firrtl.options.Stage.$anonfun$transform$5(Stage.scala:47)
[localhost] out: at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:183)
[localhost] out: at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:179)
[localhost] out: at scala.collection.immutable.List.foldLeft(List.scala:79)
[localhost] out: at firrtl.options.Stage.$anonfun$transform$3(Stage.scala:47)
[localhost] out: at logger.Logger$.$anonfun$makeScope$2(Logger.scala:137)
[localhost] out: at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
[localhost] out: at logger.Logger$.makeScope(Logger.scala:135)
[localhost] out: at firrtl.options.Stage.transform(Stage.scala:47)
[localhost] out: at firrtl.options.Stage.execute(Stage.scala:58)
[localhost] out: at firrtl.options.StageMain.main(Stage.scala:71)
[localhost] out: at midas.stage.GoldenGateMain.main(GoldenGateStage.scala)
[localhost] out: make: *** [make/goldengate.mk:31: /home/centos/firesim/sim/generated-src/f1/FireSim-WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig-F90MHz_BaseF1Config/FireSim-generated.sv.intermediate] Error 1
[localhost] out:
Fatal error: run() received nonzero return code 2 while executing!
Requested: make DESIGN=FireSim TARGET_CONFIG=WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig PLATFORM_CONFIG=F90MHz_BaseF1Config PLATFORM=f1 f1
Executed: /bin/bash -l -c "cd /home/centos/firesim/deploy/../ && export RISCV=/home/centos/firesim/.conda-env/riscv-tools && export PATH=/home/centos/firesim/utils/fireperf:/home/centos/firesim/utils/fireperf/FlameGraph:/home/centos/firesim/sw/firesim-software:/home/centos/firesim/.conda-env/riscv-tools/bin:/home/centos/firesim/utils/fireperf:/home/centos/firesim/utils/fireperf/FlameGraph:/home/centos/firesim/sw/firesim-software:/home/centos/firesim/.conda-env/riscv-tools/bin:/opt/Xilinx/Vitis_HLS/2021.2/bin:/opt/Xilinx/Vitis/2021.2/bin:/opt/Xilinx/Vivado/2021.2/bin:/home/centos/firesim/.conda-env/bin:/opt/conda/condabin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/srv/git/centos-git-common:/home/centos/.local/bin:/home/centos/bin:/home/centos/firesim/deploy:/home/centos/firesim/deploy && export LD_LIBRARY_PATH=/home/centos/firesim/.conda-env/riscv-tools/lib && source sourceme-f1-manager.sh --skip-ssh-setup && cd sim/ && make DESIGN=FireSim TARGET_CONFIG=WithDefaultFireSimBridges_WithFireSimHighPerfConfigTweaks_chipyard.RocketConfig PLATFORM_CONFIG=F90MHz_BaseF1Config PLATFORM=f1 f1"
Aborting.
Fatal error.
Traceback (most recent call last):
File "/home/centos/firesim/deploy/firesim", line 510, in
main(args)
File "/home/centos/firesim/deploy/firesim", line 449, in main
t'task'
File "/home/centos/firesim/deploy/firesim", line 228, in infrasetup
runtime_conf.infrasetup()
File "/home/centos/firesim/deploy/runtools/runtime_config.py", line 671, in infrasetup
self.firesim_topology_with_passes.infrasetup_passes(use_mock_instances_for_testing)
File "/home/centos/firesim/deploy/runtools/firesim_topology_with_passes.py", line 426, in infrasetup_passes
self.pass_build_required_drivers()
File "/home/centos/firesim/deploy/runtools/firesim_topology_with_passes.py", line 412, in pass_build_required_drivers
execute(build_drivers_helper, servers, hosts=['localhost'])
File "/home/centos/firesim/.conda-env/lib/python3.10/site-packages/fabric/tasks.py", line 356, in execute
results[host] = _execute(
File "/home/centos/firesim/.conda-env/lib/python3.10/site-packages/fabric/tasks.py", line 247, in _execute
return task.run(*args, **kwargs)
File "/home/centos/firesim/.conda-env/lib/python3.10/site-packages/fabric/tasks.py", line 147, in run
return self.wrapped(*args, **kwargs)
File "/home/centos/firesim/deploy/runtools/firesim_topology_with_passes.py", line 408, in build_drivers_helper
resolved_cfg.build_sim_driver()
File "/home/centos/firesim/deploy/runtools/runtime_config.py", line 291, in build_sim_driver
buildresult = run(driverbuildcommand)
File "/home/centos/firesim/.conda-env/lib/python3.10/site-packages/fabric/network.py", line 688, in host_prompting_wrapper
return func(*args, **kwargs)
File "/home/centos/firesim/.conda-env/lib/python3.10/site-packages/fabric/operations.py", line 1068, in run
return _run_command(
File "/home/centos/firesim/.conda-env/lib/python3.10/site-packages/fabric/operations.py", line 944, in _run_command
error(message=msg, stdout=out, stderr=err)
File "/home/centos/firesim/.conda-env/lib/python3.10/site-packages/fabric/utils.py", line 357, in error
return func(message)
File "/home/centos/firesim/.conda-env/lib/python3.10/site-packages/fabric/utils.py", line 65, in abort
raise e
SystemExit: 1
The full log of this run is:
/home/centos/firesim/deploy/logs/2023-05-21--19-32-01-infrasetup-P11L6UYLFJR01HND.log

Expected Behavior

I expect the command to be executed and simulation infrastructure to be setup.

Other Information

Full log file:

2023-05-21--19-32-01-infrasetup-P11L6UYLFJR01HND.log

@SabraO SabraO added the bug Something isn't working label May 21, 2023
@SabraO SabraO changed the title Unable to find class "F90MHz" in packages: "firesim.firesim, firesim.configs, firesim.util, midas", did you misspell it? Error: Unable to find class "F90MHz" in packages: "firesim.firesim, firesim.configs, firesim.util, midas", did you misspell it? May 22, 2023
@SabraO SabraO changed the title Error: Unable to find class "F90MHz" in packages: "firesim.firesim, firesim.configs, firesim.util, midas", did you misspell it? Error: Unable to find class "F90MHz" in packages: "firesim.firesim, firesim.configs, firesim.util, midas", did you misspell it? when running example single node simulation May 22, 2023
@SabraO SabraO changed the title Error: Unable to find class "F90MHz" in packages: "firesim.firesim, firesim.configs, firesim.util, midas", did you misspell it? when running example single node simulation Error: Unable to find class "F90MHz" in packages: "firesim.firesim, firesim.configs, firesim.util, midas", did you misspell it?, when running example single node simulation May 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant