Accelergy-Project / accelergy-timeloop-infrastructure

Linux docker for the DNN accelerator exploration infrastructure composed of Accelergy and Timeloop
MIT License
44 stars 26 forks source link

issue building timeloop from source (isl/cpp.h library not found) #14

Closed priyankaankolekar closed 7 months ago

priyankaankolekar commented 9 months ago

Hello - I am trying to build timeloop from source using these instructions - https://accelergy.mit.edu/infra_instructions.html I am able to get through every instruction until this one: scons -j4 --accelergy --static

This throws an error that reads:

In file included from src/isl-wrapper/ctx-manager.cpp:1:
include/isl-wrapper/ctx-manager.hpp:4:10: fatal error: isl/cpp.h: No such file or directory
    4 | #include <isl/cpp.h>
      |          ^~~~~~~~~~~
compilation terminated.
scons: *** [build/isl-wrapper/ctx-manager.o] Error 1
In file included from include/loop-analysis/isl-analysis/isl-nest-analysis.hpp:3,
                 from src/loop-analysis/isl-analysis/isl-nest-analysis.cpp:1:
include/loop-analysis/isl-ir.hpp:37:10: fatal error: isl/cpp.h: No such file or directory
   37 | #include <isl/cpp.h>
      |          ^~~~~~~~~~~
compilation terminated.
scons: *** [build/loop-analysis/isl-analysis/isl-nest-analysis.o] Error 1
In file included from include/loop-analysis/isl-analysis/isl-nest-analysis.hpp:3,
                 from include/loop-analysis/isl-analysis/isl-to-legacy-adaptor.hpp:5,
                 from src/loop-analysis/isl-analysis/isl-to-legacy-adaptor.cpp:1:
include/loop-analysis/isl-ir.hpp:37:10: fatal error: isl/cpp.h: No such file or directory
   37 | #include <isl/cpp.h>
      |          ^~~~~~~~~~~
compilation terminated.
scons: *** [build/loop-analysis/isl-analysis/isl-to-legacy-adaptor.o] Error 1
In file included from src/isl-wrapper/isl-functions.cpp:6:
include/isl-wrapper/ctx-manager.hpp:4:10: fatal error: isl/cpp.h: No such file or directory
    4 | #include <isl/cpp.h>
      |          ^~~~~~~~~~~
compilation terminated.

I have the ISL library installed. I do not see a cpp.h header in the ISL header directory.

(These are all the headers I see in the ISL include directory (apologies for pasting the entire long list): aff.h aff_type.h arg.h ast.h ast_build.h ast_type.h band.h constraint.h ctx.h deprecated flow.h hash.h hmap.h hmap_templ.c id.h id_to_ast_expr.h id_to_id.h id_to_pw_aff.h ilp.h list.h local_space.h lp.h map.h map_to_basic_set.h map_type.h mat.h maybe.h maybe_ast_expr.h maybe_basic_set.h maybe_id.h maybe_pw_aff.h maybe_templ.h multi.h obj.h options.h point.h polynomial.h polynomial_type.h printer.h printer_type.h schedule.h schedule_node.h schedule_type.h set.h set_type.h space.h stdint.h stream.h union_map.h union_map_type.h union_set.h union_set_type.h val.h val_gmp.h vec.h version.h vertices.h

The deprecated/ directory contains: aff_int.h ast_int.h constraint_int.h ilp_int.h int.h map_int.h mat_int.h point_int.h polynomial_int.h set_int.h union_map_int.h val_int.h vec_int.h)

What am I missing here? Should I be using an older commit of the isl library?

Thanks, Priyanka.

jimmy-adams commented 8 months ago

Hello - I am trying to build timeloop from source using these instructions - https://accelergy.mit.edu/infra_instructions.html I am able to get through every instruction until this one: scons -j4 --accelergy --static

This throws an error that reads:

In file included from src/isl-wrapper/ctx-manager.cpp:1:
include/isl-wrapper/ctx-manager.hpp:4:10: fatal error: isl/cpp.h: No such file or directory
    4 | #include <isl/cpp.h>
      |          ^~~~~~~~~~~
compilation terminated.
scons: *** [build/isl-wrapper/ctx-manager.o] Error 1
In file included from include/loop-analysis/isl-analysis/isl-nest-analysis.hpp:3,
                 from src/loop-analysis/isl-analysis/isl-nest-analysis.cpp:1:
include/loop-analysis/isl-ir.hpp:37:10: fatal error: isl/cpp.h: No such file or directory
   37 | #include <isl/cpp.h>
      |          ^~~~~~~~~~~
compilation terminated.
scons: *** [build/loop-analysis/isl-analysis/isl-nest-analysis.o] Error 1
In file included from include/loop-analysis/isl-analysis/isl-nest-analysis.hpp:3,
                 from include/loop-analysis/isl-analysis/isl-to-legacy-adaptor.hpp:5,
                 from src/loop-analysis/isl-analysis/isl-to-legacy-adaptor.cpp:1:
include/loop-analysis/isl-ir.hpp:37:10: fatal error: isl/cpp.h: No such file or directory
   37 | #include <isl/cpp.h>
      |          ^~~~~~~~~~~
compilation terminated.
scons: *** [build/loop-analysis/isl-analysis/isl-to-legacy-adaptor.o] Error 1
In file included from src/isl-wrapper/isl-functions.cpp:6:
include/isl-wrapper/ctx-manager.hpp:4:10: fatal error: isl/cpp.h: No such file or directory
    4 | #include <isl/cpp.h>
      |          ^~~~~~~~~~~
compilation terminated.

I have the ISL library installed. I do not see a cpp.h header in the ISL header directory.

(These are all the headers I see in the ISL include directory (apologies for pasting the entire long list): aff.h aff_type.h arg.h ast.h ast_build.h ast_type.h band.h constraint.h ctx.h deprecated flow.h hash.h hmap.h hmap_templ.c id.h id_to_ast_expr.h id_to_id.h id_to_pw_aff.h ilp.h list.h local_space.h lp.h map.h map_to_basic_set.h map_type.h mat.h maybe.h maybe_ast_expr.h maybe_basic_set.h maybe_id.h maybe_pw_aff.h maybe_templ.h multi.h obj.h options.h point.h polynomial.h polynomial_type.h printer.h printer_type.h schedule.h schedule_node.h schedule_type.h set.h set_type.h space.h stdint.h stream.h union_map.h union_map_type.h union_set.h union_set_type.h val.h val_gmp.h vec.h version.h vertices.h

The deprecated/ directory contains: aff_int.h ast_int.h constraint_int.h ilp_int.h int.h map_int.h mat_int.h point_int.h polynomial_int.h set_int.h union_map_int.h val_int.h vec_int.h)

What am I missing here? Should I be using an older commit of the isl library?

Thanks, Priyanka.

Hello, have you solved the problem?

tanner-andrulis commented 8 months ago

Temporary fix: We are currently performing large updates to the code base and will get building fixed soon. In the meantime, we strongly recommend using the pre-built Docker images available (how-to in the README of this repository).

tanner-andrulis commented 7 months ago

Added a make command. Clone this repository (& recurse submodules) and run make install_timeloop.