mirror of
https://github.com/amd/blis.git
synced 2026-06-08 23:08:30 +00:00
Unconditionally define bli_l3_thread_entry().
Details: - Define a dummy bli_l3_thread_entry() function when multithreading is disabled altogether, or enabled via OpenMP. This function was originally necessary when multithreading is enabled via pthreads. By defining the function no matter the threading options given, it is less likely that an AppVeyor Windows build will complain due to a missing symbol in the DLL. (To be clear: AppVeyor was working fine before, but a problem may have arisen if it were switched to an OpenMP build.) - Removed the prototype for bli_l3_thread_entry() from bli_thrcomm_pthreads.c and placed it in bli_thrcomm.h. - Regenerated the symbols list file build/libblis-symbols.def.
This commit is contained in:
@@ -1281,6 +1281,7 @@ bli_l3_prune_unref_mparts_k
|
||||
bli_l3_prune_unref_mparts_m
|
||||
bli_l3_prune_unref_mparts_n
|
||||
bli_l3_thread_decorator
|
||||
bli_l3_thread_entry
|
||||
bli_l3_thrinfo_create_root
|
||||
bli_l3_thrinfo_free
|
||||
bli_l3_thrinfo_free_paths
|
||||
|
||||
@@ -42,6 +42,10 @@
|
||||
#include "bli_thrcomm_pthreads.h"
|
||||
|
||||
|
||||
// thread entry point prototype.
|
||||
void* bli_l3_thread_entry( void* data_void );
|
||||
|
||||
|
||||
// thrcomm_t query (field only)
|
||||
|
||||
static dim_t bli_thrcomm_num_threads( thrcomm_t* comm )
|
||||
|
||||
@@ -202,6 +202,11 @@ void bli_thrcomm_tree_barrier( barrier_t* barack )
|
||||
|
||||
#endif
|
||||
|
||||
// Define a dummy function bli_l3_thread_entry(), which is needed in the
|
||||
// pthreads version, so that when building Windows DLLs (with OpenMP enabled
|
||||
// or no multithreading) we don't risk having an unresolved symbol.
|
||||
void* bli_l3_thread_entry( void* data_void ) { return NULL; }
|
||||
|
||||
//#define PRINT_THRINFO
|
||||
|
||||
void bli_l3_thread_decorator
|
||||
|
||||
@@ -126,8 +126,6 @@ void bli_thrcomm_barrier( thrcomm_t* comm, dim_t t_id )
|
||||
#endif
|
||||
|
||||
|
||||
void* bli_l3_thread_entry( void* data_void );
|
||||
|
||||
// A data structure to assist in passing operands to additional threads.
|
||||
typedef struct thread_data
|
||||
{
|
||||
|
||||
@@ -71,6 +71,11 @@ void bli_thrcomm_barrier( thrcomm_t* comm, dim_t t_id )
|
||||
return;
|
||||
}
|
||||
|
||||
// Define a dummy function bli_l3_thread_entry(), which is needed in the
|
||||
// pthreads version, so that when building Windows DLLs (with OpenMP enabled
|
||||
// or no multithreading) we don't risk having an unresolved symbol.
|
||||
void* bli_l3_thread_entry( void* data_void ) { return NULL; }
|
||||
|
||||
void bli_l3_thread_decorator
|
||||
(
|
||||
l3int_t func,
|
||||
|
||||
Reference in New Issue
Block a user