Thank you for your reply!

I changed from "typename IdxType=unsigned int" to "typename
IdxType=dof_id_type" in parallel_sort.h (libmesh_dir/include/parallel/),
and then reconfigure and make. Errors occur as follows:
  ...
  CXXLD    libmesh_opt.la
  CXX      src/apps/getpot_parse_opt-getpot_parse.o
  CXXLD    getpot_parse-opt
/usr/bin/ld: ./.libs/libmesh_opt.so: undefined reference to
`libMesh::Parallel::Sort<Hilbert::HilbertIndices, unsigned long>::bin()'
/usr/bin/ld: ./.libs/libmesh_opt.so: undefined reference to
`libMesh::Parallel::Sort<Hilbert::HilbertIndices, unsigned
long>::Sort(libMesh::Parallel::Communicator const&,
std::vector<Hilbert::HilbertIndices,
std::allocator<Hilbert::HilbertIndices> >&)'
/usr/bin/ld: ./.libs/libmesh_opt.so: undefined reference to
`libMesh::Parallel::Sort<Hilbert::HilbertIndices, unsigned long>::sort()'
/usr/bin/ld: link errors found, deleting executable `.libs/getpot_parse-opt'
/usr/bin/sha1sum: .libs/getpot_parse-opt: No such file or directory
collect2: error: ld returned 1 exit status
Makefile:10169: recipe for target 'getpot_parse-opt' failed
make[1]: *** [getpot_parse-opt] Error 1
make[1]: Leaving directory '/lustre/project/k1305/liluo/lib/libmesh-0.9.3'
Makefile:27210: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

To John:
I am an old fan of libMesh and I am now still using libmesh0.9.3, yes, it
is very old, but due to the large amount of early codes, I hope to fix this
issue on the current version.
The config.log shows
#define DOF_ID_BYTES 8
#define PROCESSOR_ID_BYTES 4
#define SUBDOMAIN_ID_BYTES 4
#define UNIQUE_ID_BYTES 8

Best,
Li Luo

On Thu, Jan 31, 2019 at 5:49 PM John Peterson <jwpeter...@gmail.com> wrote:

>
>
> On Wed, Jan 30, 2019 at 11:08 AM Stogner, Roy H <royst...@ices.utexas.edu>
> wrote:
>
>>
>> On Wed, 30 Jan 2019, Li Luo wrote:
>>
>> > I am using libMesh for large scale parallelization. To enable the usage
>> of
>> > 65536 processor cores, the options
>> > --with-dof-id-bytes=8 --with-processor-id-bytes=4
>> > --with-subdomain-id-bytes=4
>> > are already used for configuration.
>>
>
> Would you mind looking in your
> $LIBMESH_DIR/include/libmesh/libmesh_config.h file and verifying that
>
> #define LIBMESH_PROCESSOR_ID_BYTES 4
>
> is indeed set?  65536 is right at the uint16_t limit, so I just want to
> rule out any funny business with the configure test that sets that value.
> Also, 4 bytes is now the default for processor_id_type so you should be
> able to safely omit that option if you are using a relatively recent
> version of libmesh. Speaking on which, can you let us know what version of
> libmesh you are using? A number of improvements have been made to the
> parallel communications routines since the last tagged release, so you'd be
> best off using libmesh master for any huge runs you are attempting.
>
> --
> John
>


-- 

Postdoctoral Fellow
Extreme Computing Research Center
King Abdullah University of Science & Technology
https://sites.google.com/site/rolyliluo/

-- 

This message and its contents, including attachments are intended solely 
for the original recipient. If you are not the intended recipient or have 
received this message in error, please notify me immediately and delete 
this message from your computer system. Any unauthorized use or 
distribution is prohibited. Please consider the environment before printing 
this email.

_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to