Hi Sampad,

It looks like you've found a hole in our testing ;). We don't compile HSAIL
regularly, and it looks like some bugs have worked their way in. Tony, do
you think you, or someone else that's familiar with the GPU model could
take a look?

Cheers,
Jason

On Thu, Aug 16, 2018 at 8:36 AM Sampad Mohapatra <su...@psu.edu> wrote:

> Hi Gabe,
>
> I am building on a 64 bit cluster.
>
> I might have found the reasons for the issues:
>
> (1) There is no function "const_iterator find(Addr r) const" in
> src/base/addr_range_map.hh.
>
> (2) In src/base/types.hh, struct TypedAtomicOpFunctor has a pure
> virtual function "clone()". This struct is the base for a
>
>      lot of GPU op classes in src/gpu-compute/gpu_dyn_inst.hh. But
> these classes don't define clone(). This results in
>      the errors I mentioned in (2).
>
> Sampad
>
> On Tue, Aug 14, 2018 at 2:26 PM Gabe Black wrote:
> > I wonder if you're building on a 32 bit machine? It could be that
> somebody
> > made an assumption about how big certain types are, and some function
> > definitions which normally turn out to be the same thing are different if
> > certain types are no longer equivalent. That would be my gut reaction to
> > the second problem. Maybe add "override" in places where a virtual
> function
> > is being overridden in the GPU code related to the error? I bet the
> > compiler complains about at least one of them.
>
> > Gabe
>
> On Tue, Aug 14, 2018 at 5:46 AM Sampad Mohapatra <su...@psu.edu> wrote:
>
> > I have tried building with both gcc 7.1 and gcc 5.4 and get the same set
> of
> > errors.
> > I am also using scons v3.1, Python 2.7.13, swig 3.0.12. All of these were
> > built from source.
> >
> > I use a cluster running Red Hat 4.4.7-18  (Linux version
> > 2.6.32-696.6.3.el6.x86_64).
> >
> > Thanks
> > Sampad
> >
> >
> >
> > On Tue, Aug 14, 2018 at 5:46 AM Ciro Santilli <ciro.santi...@gmail.com>
> > wrote:
> >
> > > What is your compiler version?
> > >
> > > On Tue, Aug 14, 2018 at 12:53 AM, Sampad Mohapatra <su...@psu.edu>
> > wrote:
> > >
> > > > Hi All,
> > > >
> > > > I am facing compile issues while trying to compile
> > > > commit e02ec0c24d56bce4a0d8636a340e15cd223d1930 .
> > > > There are two types of errors in the Gem5 source:
> > > >
> > > > (1)  *no matching function for call to : find(uint64_t&)*
> > > >
> > > > build/HSAIL_X86/gpu-compute/hsail_code.cc: In member function
> > > > 'StorageElement* StorageSpace::findSymbol(uint64_t)':
> > > > build/HSAIL_X86/gpu-compute/hsail_code.cc:336:41: error: no matching
> > > > function for call to 'AddrRangeMap<StorageElement*>::find(uint64_t&)'
> > > >      auto se = elements_by_addr.find(addr);
> > > >                                          ^
> > > > In file included from build/HSAIL_X86/gpu-compute/hsail_code.hh:47:0,
> > > >                  from build/HSAIL_X86/gpu-compute/hsail_code.cc:36:
> > > > build/HSAIL_X86/base/addr_range_map.hh:225:5: note: candidate:
> > > > AddrRangeMap<V, max_cache_size>::const_iterator AddrRangeMap<V,
> > > > max_cache_size>::find(const AddrRange&,
> std::function<bool(AddrRange)>)
> > > > const [with V = StorageElement*; int max_cache_size = 0;
> > AddrRangeMap<V,
> > > > max_cache_size>::const_iterator =
> > > > std::_Rb_tree_const_iterator<std::pair<const AddrRange,
> > StorageElement*>
> > > > >]
> > > >      find(const AddrRange &r, std::function<bool(const AddrRange)>
> > cond)
> > > > const
> > > >      ^
> > > > build/HSAIL_X86/base/addr_range_map.hh:225:5: note:   candidate
> > expects 2
> > > > arguments, 1 provided
> > > >
> > > >
> > > > (2) *Multiple issues due to object creation from virtual classes. For
> > > > example:*
> > > >
> > > > In file included from
> > > build/HSAIL_X86/gpu-compute/gpu_static_inst.hh:53:0,
> > > >                  from
> > > > build/HSAIL_X86/arch/hsail/insts/gpu_static_inst.hh:46,
> > > >                  from build/HSAIL_X86/arch/hsail/insts/branch.hh:39,
> > > >                  from build/HSAIL_X86/arch/hsail/gpu_decoder.cc:2:
> > > > build/HSAIL_X86/gpu-compute/gpu_dyn_inst.hh: In instantiation of
> > > > 'AtomicOpFunctor* GPUDynInst::makeAtomicOpFunctor(c0*, c0*) [with c0
> =
> > > > long
> > > > unsigned int]':
> > > > build/HSAIL_X86/arch/hsail/insts/mem.hh:1625:54:   required from
> 'void
> > > > HsailISA::AtomicInst<MemDataType, AddrOperandType, NumSrcOperands,
> > > > HasDst>::execAtomic(GPUDynInstPtr) [with MemDataType =
> > > > HsailISA::HsailDataType<HsailISA::HsailOperandType<DRegOperand,
> > > > RegOrImmOperand<DRegOperand, long unsigned int> >, long unsigned int,
> > > > (Enums::MemType)3u, (vgpr_type)1u, 1>; AddrOperandType =
> > > > RegAddrOperand<DRegOperand>; int NumSrcOperands = 1; bool HasDst =
> > true;
> > > > GPUDynInstPtr = std::shared_ptr<GPUDynInst>]'
> > > > build/HSAIL_X86/arch/hsail/gpu_decoder.cc:887:1:   required from here
> > > > build/HSAIL_X86/gpu-compute/gpu_dyn_inst.hh:358:45: error: invalid
> > > > new-expression of abstract class type 'AtomicOpAnd<long unsigned
> int>'
> > > >              return new AtomicOpAnd<c0>(*reg0);
> > > >                                              ^
> > > > build/HSAIL_X86/gpu-compute/gpu_dyn_inst.hh:50:7: note:   because the
> > > > following virtual functions are pure within 'AtomicOpAnd<long
> unsigned
> > > > int>':
> > > >  class AtomicOpAnd : public TypedAtomicOpFunctor<T>
> > > >
> > > >
> > > > Any help or pointers is highly appreciated.
> > > >
> > > >
> > > > Thanks and Regards,
> > > > Sampad Mohapatra
> > > > _______________________________________________
> > > > gem5-dev mailing list
> > > > gem5-dev@gem5.org
> > > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fm5sim.org%2Fmailman%2Flistinfo%2Fgem5-dev&amp;data=02%7C01%7Csum94%40psu.edu%7Ce8c4c86e86d04874552408d601cad230%7C7cf48d453ddb4389a9c1c115526eb52e%7C0%7C0%7C636698367962416116&amp;sdata=%2BMpSxLHBDda0f6iz2TBrGAmeaUwHLzAaMooGIB2kxMU%3D&amp;reserved=0
> > > _______________________________________________
> > > gem5-dev mailing list
> > > gem5-dev@gem5.org
> > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fm5sim.org%2Fmailman%2Flistinfo%2Fgem5-dev&amp;data=02%7C01%7Csum94%40psu.edu%7Ce8c4c86e86d04874552408d601cad230%7C7cf48d453ddb4389a9c1c115526eb52e%7C0%7C0%7C636698367962416116&amp;sdata=%2BMpSxLHBDda0f6iz2TBrGAmeaUwHLzAaMooGIB2kxMU%3D&amp;reserved=0
> > _______________________________________________
> > gem5-dev mailing list
> > gem5-dev@gem5.org
> > http://m5sim.org/mailman/listinfo/gem5-dev
> _______________________________________________
> gem5-dev mailing list
> gem5-dev@gem5.org
> http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to