Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17254 Discussions

Running Altera OpenCL tools from a NFS server?

Altera_Forum
Honored Contributor II
2,211 Views

This might be a broader Altera issue, but I've experienced it only when working with the OpenCL SDK tools. 

 

We have our servers setup in a fairly standard configuration - a NFS storage server which is then mounted on our various tool servers. I've found that if I use the tools, correctly configured, the hello world example performs the offline FPGA compilation fine if the application files are stored locally on the machine. If I try use the tools when located on the storage server, I get the following error: 

 

SEVERE: Internal Error: caught exception java.lang.RuntimeException: Can't initialize DevFamilyManagerFromDB at com.altera.infrastructure.devices.DevFamilyManagerFromDB.<init>(Unknown Source) at com.altera.infrastructure.devices.DevFamilyManager.<init>(Unknown Source) at com.altera.infrastructure.devices.DevFamilyManager.getInstance(Unknown Source) at com.altera.sopcmodel.ensemble.Ensemble.customizeParameterDescriptors(Ensemble.java:2967) at com.altera.sopcmodel.beanelement.BeanElement.ensureParameterDescriptorMap(BeanElement.java:160) at com.altera.sopcmodel.beanelement.BeanElement.getParameterDescriptors(BeanElement.java:136) at com.altera.sopcmodel.beanelement.BeanElementClass.newInstance(BeanElementClass.java:286) at com.altera.sopcmodel.ensemble.Ensemble.createQsys(Ensemble.java:586) at com.altera.sopcdocument.Document.create(Document.java:81) at com.altera.sopcdocument.ReadDocument.read(ReadDocument.java:130) at com.altera.qsys.tcl.QsysScript.prepareEnsembleModel(QsysScript.java:433) at com.altera.qsys.tcl.QsysScript.act(QsysScript.java:321) at com.altera.utilities.AltCmdLineToolBase.runTheTool(AltCmdLineToolBase.java:640) at com.altera.qsys.tcl.QsysScript.main(QsysScript.java:116) Caused by: com.altera.infrastructure.devices.DeviceDBEnvironmentException: Can't initialize connection to /applications/altera/13.1/quartus/common/devinfo/device.db at com.altera.infrastructure.devices.SQLQueryRunner.connect(Unknown Source) at com.altera.infrastructure.devices.DeviceDB.initConnectionToDatabaseFile(Unknown Source) at com.altera.infrastructure.devices.DeviceDB.<init>(Unknown Source) ... 14 more Caused by: java.sql.SQLException: com.altera.jdbcsqlite.Exception: disk I/O error at com.altera.jdbcsqlite.JDBCStatement.executeQuery(JDBCStatement.java:153) at com.altera.jdbcsqlite.JDBCStatement.executeQuery(JDBCStatement.java:168) at com.altera.jdbcsqlite.JDBCStatement.execute(JDBCStatement.java:173) at com.altera.infrastructure.devices.SQLQueryRunner.initializeUnencryptedConnection(Unknown Source) ... 17 more Caused by: com.altera.jdbcsqlite.Exception: disk I/O error at com.altera.jdbcsqlite.Database.vm_compile(Native Method) at com.altera.jdbcsqlite.Database.compile(Database.java:684) at com.altera.jdbcsqlite.Database.get_table(Database.java:308) at com.altera.jdbcsqlite.JDBCStatement.executeQuery(JDBCStatement.java:120) ... 20 more  

 

The key line in the 1st set seems seems to be: 

Caused by: com.altera.infrastructure.devices.DeviceDBEnvironmentException: Can't initialize connection to /altera/13.1/quartus/common/devinfo/device.db  

Note: I've replaced part of the actual path with [NFS MOUNT POINT] for clarity. 

 

The device.db file that is referenced is definitely read, write and executable by the user on the compute node, although it seems quite strange that it needs to modify something in the application path? 

 

Later on in the flow I then get the following errors: 

 

2014.03.09.21:16:34 Error: altera_pll component only supports the following device families - STRATIX V, ARRIA V, ARRIA V GZ, ARRIA 10, CYCLONE V 2014.03.09.21:16:59 Error: system.acl_iface.pcie: Selected device family: Unknown is not supported 2014.03.09.21:16:59 Error: system.acl_iface.: altera_pll component only supports the following device families - STRATIX V, ARRIA V, ARRIA V GZ, ARRIA 10, CYCLONE V 2014.03.09.21:16:59 Error: system.acl_iface.kernel_pll: : There is no parameter named gui_reference_clock_frequency on instance kernel_pll 2014.03.09.21:16:59 Error: system.acl_iface.: set_instance_parameter_value kernel_pll gui_reference_clock_frequency 166.6666666): Format specifier 's' 2014.03.09.21:16:59 Error: system.acl_iface.kernel_interface.sys_description_rom: Device family is unknown. 2014.03.09.21:16:59 Error: system.acl_iface.kernel_interface.sys_description_rom: can't read "device_feature_array(HARDCOPY)": no such variable 2014.03.09.21:16:59 Error: system.acl_iface.config_clk.out_clk/temperature_pll.refclk: Missing connection end (try "Remove Dangling Connections") 2014.03.09.21:16:59 Error: system.acl_iface.temperature_pll.outclk0/temperature_0.clk: Missing connection start (try "Remove Dangling Connections") 2014.03.09.21:16:59 Error: system.acl_iface.global_reset.out_reset/temperature_pll.reset: Missing connection end (try "Remove Dangling Connections") 2014.03.09.21:17:19 Error: Cannot find clock for temperature_0.clk. If temperature_0.clk is exported please use a clock bridge and reset bridge instead of a clock source. Reset synchronizer, rst_controller_001, may not function if not connected to a clock source. To rectify this error a clock must be manually attached to the clock port of rst_controller_001 in the generated RTL. 2014.03.09.21:17:28 Error: Generation stopped, 54 or more modules remaining  

 

The problem seems to relate to generating the IP cores for the code, particularly the PLL which is in the Altera directory structure (hencing making sense that it needs to be able to write to this location). 

 

I've had problems before when using Quartus II on files in a Windows shared directory, but I'm surprised that there seem to be issues with NFS too. Is this a known problem?
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
1,038 Views

This might be an issue outside of OpenCL. Try launching Qsys directly by running 'qsys-edit' assuming you have the Quartus /bin directly in your path. If you are on Windows you can use the Nios II command line shell to launch Qsys. If there is a Qsys issue I'm expecting there to be a bunch of errors at the bottom of the GUI.

0 Kudos
Altera_Forum
Honored Contributor II
1,038 Views

Thanks for the reply. To be clear, when you say run qsys, do you mean something like: 

 

qsys-script --script=system.tcl --Xmx512M --XX:+UseSerialGC --system-file=system.qsys  

 

After using the -c option on the project to just generate the project files. If this is the case, then yes, I get the same error. Is there a dedicated qsys forum that I should maybe be bothering;) ?
0 Kudos
Altera_Forum
Honored Contributor II
1,038 Views

Actually I was just thinking "qsys-edit" because that launches the tool. I just want to verify the tool is working properly because OpenCL is dependent on it. If Qsys doesn't even launch correctly then it would make sense to switch over to debugging that. Qsys is lumped into Quartus so that's the subforum most people use for Qsys questions but before doing that I would check to see if it's launch correctly since I haven't ruled out OpenCL yet. 

 

I think what you are referring to is how OpenCL is using Qsys which is a little different. If Qsys isn't behaving then that line command line will not work either.
0 Kudos
Altera_Forum
Honored Contributor II
1,038 Views

Ah, thanks for the clarification. 

 

I get just the Java error when I launch qsys-edit from the network-mounted tools: 

java.lang.RuntimeException: Can't initialize DevFamilyManagerFromDB at com.altera.infrastructure.devices.DevFamilyManagerFromDB.<init>(Unknown Source) at com.altera.infrastructure.devices.DevFamilyManager.<init>(Unknown Source) at com.altera.infrastructure.devices.DevFamilyManager.getInstance(Unknown Source) at com.altera.sopcmodel.ensemble.Ensemble.customizeParameterDescriptors(Ensemble.java:2967) at com.altera.sopcmodel.beanelement.BeanElement.ensureParameterDescriptorMap(BeanElement.java:160) at com.altera.sopcmodel.beanelement.BeanElement.getParameterDescriptors(BeanElement.java:136) at com.altera.sopcmodel.beanelement.BeanElementClass.newInstance(BeanElementClass.java:286) at com.altera.sopcmodel.ensemble.Ensemble.createQsys(Ensemble.java:586) at com.altera.sopceditor.util.EditorUtils.createNewEnsemble(EditorUtils.java:1296) at com.altera.ipedit.QsysEditorApp.createEditor(QsysEditorApp.java:345) at com.altera.ipedit.QsysEditorApp.runQsysEditor(QsysEditorApp.java:315) at com.altera.ipedit.QsysEditorApp.act(QsysEditorApp.java:226) at com.altera.utilities.AltCmdLineToolBase.runTheTool(AltCmdLineToolBase.java:640) at com.altera.ipedit.QsysEditorApp.main(QsysEditorApp.java:455) Caused by: com.altera.infrastructure.devices.DeviceDBEnvironmentException: Can't initialize connection to /mnt/cas_nfs/applications/altera/13.1/quartus/common/devinfo/device.db at com.altera.infrastructure.devices.SQLQueryRunner.connect(Unknown Source) at com.altera.infrastructure.devices.DeviceDB.initConnectionToDatabaseFile(Unknown Source) at com.altera.infrastructure.devices.DeviceDB.<init>(Unknown Source) ... 14 more Caused by: java.sql.SQLException: com.altera.jdbcsqlite.Exception: disk I/O error at com.altera.jdbcsqlite.JDBCStatement.executeQuery(JDBCStatement.java:153) at com.altera.jdbcsqlite.JDBCStatement.executeQuery(JDBCStatement.java:168) at com.altera.jdbcsqlite.JDBCStatement.execute(JDBCStatement.java:173) at com.altera.infrastructure.devices.SQLQueryRunner.initializeUnencryptedConnection(Unknown Source) ... 17 more Caused by: com.altera.jdbcsqlite.Exception: disk I/O error at com.altera.jdbcsqlite.Database.vm_compile(Native Method) at com.altera.jdbcsqlite.Database.compile(Database.java:684) at com.altera.jdbcsqlite.Database.get_table(Database.java:308) at com.altera.jdbcsqlite.JDBCStatement.executeQuery(JDBCStatement.java:120) ... 20 more  

 

So this suggests that system generation is failing, and hence the rest of the compile isn't working?
0 Kudos
Altera_Forum
Honored Contributor II
1,038 Views

Sorry about the delay, I forgot about this thread. Yes that's what is looking like the culprit, it doesn't look like Qsys is even able to load up the device family information and without Qsys and Quartus operating correctly then OpenCL which depends on them will not behave properly. I know you are not the first to attempt loading up the tools over NFS so perhaps you'll find other threads about this outside the OpenCL section. 

 

Drawing at straws but this might be related: http://www.alteraforum.com/forum/showthread.php?t=41232
0 Kudos
Reply