Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Machine Learning

JohnNichols
Valued Contributor III
5,270 Views

https://github.com/modern-fortran/neural-fortran#building-with-cmake

 

There is a machine learning in Fortran example at the location above. 

 

Screenshot 2022-05-14 154459.png

Screenshot 2022-05-14 154549.png

 

I have never liked make, nmake or cmake.  Just a personal thing stretching back to MS 3.03 Fortran.  

I loaded the code into a VS Project,  I get the errors in the first picture,  if I comment them out, the program runs although it is not likely to be correct.  

The cmake commands are shown in the 2nd picture for Fortran.  How can you have release and debug flags at the same time.  And in the properties page I could not find coarray single

I much prefer Fortran to Python.  

How do I fix the VS sln to match the cmake file?  

 

 

 

 

 

0 Kudos
23 Replies
JohnNichols
Valued Contributor III
761 Views

Barbara:

The code.zip includes the Fortran files from the original LINUX development set.  These are also included in the  ZEUS.zip.  

Base.f90 I added to set up a standard set of parameters, I am following the @mecej4  suggestion in Magni. 

Draw.F90 is simply a drawer I added to look at the data, it is all old code in essence.  Assuming your algorithm is working without looking at the data is a really bad idea, but it is common issue with theoretical people who often fail to understand experimental limitations.  Try to explain a analog to digital step issue to a theoretical boffin is an exercise in needing another beer at 8 am.  

The code.zip is all the original, to get it running with draw I needed to add heaps-array and set heaps to 0 and stack to about 1 billion.  

My main machine did not load IFX as we discussed in the fail to install posts.  I can run it on the NUC Core I3 with Windows 10 as these machines are stuck in time, but the install worked as you intended and IFX is perfect there. 

The LINUX original is an academic exercise, so it is a good algorithm and nice code, but there is stuff lumped everywhere and multiple definitions of the same parameters.  I am a firm believer that parameters are defined once in base.  So if your people ask why is THREE defined, it is in base and is used everywhere.  

The mn_?? were in the original idea for base from wherever and as a doff your hat to the past I keep using them.  But due to historical use mn_2 is not always defined as 2.  We are all quirky. 

 

I hope this helps.  

 

John

 

Thanks for the help.  

Re humour, the NSF did a big study and showed that you need  at least 1 women in each group of 10 men to turn the men into something approximating normal humans.  I have tried to explain it to my daughters, but you see if you have say 2 men and they are talking and you add a lady you end up with a completely different polite conversation.  If you want a great example, read John McNab by Buchan - it is from the 1930's but it is in pdf and it has a very strong female lead character and it is funny. 

They also did a study of university departments, those departments that are filled with crusty old curmudgeons that do not care or understand their student problems have a lower graduation rate compared to departments where they could find one professor "who seemed to care".  If the University graduates 55% instead of 65% it should be closed in the real world it would fail.   Mr Chips explains it better. 

 Professors who seem to care are pariahs in University Departments as they tend to solve problems that the others like to impose,  academic departments are the worst example of a 5 yr old king of the mountain games, played with words instead of sticks.  

I like this place as the crusty old curmudgeons are mostly tame.  LOL Mostly... 

Sorry, but my daughter is doing a list, I have four daughters so my life is terribly polite.  

 

0 Kudos
Barbara_P_Intel
Employee
769 Views

@JohnNichols  There's some files missing to create these module files:

Zeus.f90: use nf, only: dense, input, network
Zeus.f90: use nf_datasets_mnist, only: label_digits, load_mnist
Zeus.f90: use nf_optimizers, only: sgd

Can you upload those?

 

0 Kudos
Barbara_P_Intel
Employee
746 Views

Happy Monday, @JohnNichols !

The developers on this Forum who have compiler problems like yours post a concise set of files, the compiler version, and compiler options required to reproduce the problem.

Now your comment about setting heap and stack compiler options...   

Please upload just the source files required to reproduce the ICE. The BuildLog would be useful, too.

Thank you!

 

 

 

 

 

Reply