tensil-ai / tensil

Open source machine learning accelerators
https://www.tensil.ai
Other
348 stars 28 forks source link

Is there tutorial build tensil binary from source #31

Closed minisparrow closed 2 years ago

minisparrow commented 2 years ago

Hi, I want to build project from source, is there some tutorial for that? thanks

tdb-alcorn commented 2 years ago

You can run ./mill '{rtl,tools}.assembly' to generate the rtl and compiler assemblies, they will be output at rtl/assembly.dest/out.jar and tools/assembly.dest/out.jar respectively. Copy the assemblies to /opt/tensil/ like so

mkdir -p /opt/tensil/
cp rtl/assembly.dest/out.jar /opt/tensil/rtl.jar
cp tools/assembly.dest/out.jar /opt/tensil/tools.jar

You can then add this file to /usr/local/bin to enable the tensil compile|rtl command line tool.

Does this help?

minisparrow commented 2 years ago

Thanks for reply, when i build using ./mill rtl.assemply, there is error reported as follows:

[error]  tensil/common/src/tensil/ArchitectureDataType.scala:43:27: value readNBytes is not a member of java.io.DataInputStream
[error]     base.fromBytes(stream.readNBytes(base.sizeBytes))
minisparrow commented 2 years ago

Thanks for reply, when i build using ./mill rtl.assemply, there is error reported as follows:

[error]  tensil/common/src/tensil/ArchitectureDataType.scala:43:27: value readNBytes is not a member of java.io.DataInputStream
[error]     base.fromBytes(stream.readNBytes(base.sizeBytes))

thanks @tdb-alcorn , I find this error mainly because i use java 18, when i use java 19, it build sucess. Thanks very much.

tdb-alcorn commented 2 years ago

Glad it's working now! We use OpenJDK 11 from Azul for development, so you should be able to get things running with that. https://github.com/tensil-ai/tensil#additional-setup-steps

If you have asdf tool version manager installed, you can point it at this https://github.com/tensil-ai/tensil/blob/main/.tool-versions.

minisparrow commented 2 years ago

Glad it's working now! We use OpenJDK 11 from Azul for development, so you should be able to get things running with that. https://github.com/tensil-ai/tensil#additional-setup-steps

If you have asdf tool version manager installed, you can point it at this https://github.com/tensil-ai/tensil/blob/main/.tool-versions.

Many Thanks. sorry I have another question. I can run ./mill __.test for all testsuit, but if I want to run an unittest for a specific module, such as Accumulator Module, how could i make this test. Thanks again :)

petrohi commented 2 years ago

To run specific test, for example SamplerSpec:

./mill rtl.test.testOnly tensil.tcu.SamplerSpec

Also if you want vcd files (waveforms) to be generated:

./mill rtl.test.testOnly tensil.tcu.SamplerSpec -- -DwriteVcd=true
minisparrow commented 2 years ago

To run specific test, for example SamplerSpec:

./mill rtl.test.testOnly tensil.tcu.SamplerSpec

Also if you want vcd files (waveforms) to be generated:

./mill rtl.test.testOnly tensil.tcu.SamplerSpec -- -DwriteVcd=true

thanks very much, that's really big help for me. Thank you petrohi. :)