/* load the pattern matchers */
MpmTableSetup();
+#ifdef __SC_CUDA_SUPPORT__
+ MpmCudaEnvironmentSetup();
+#endif
AppLayerDetectProtoThreadInit();
if (list_app_layer_protocols) {
mpm_table[MPM_AC_CUDA].PrintThreadCtx = SCACPrintSearchStats;
mpm_table[MPM_AC_CUDA].RegisterUnittests = SCACRegisterTests;
- if (PatternMatchDefaultMatcher() == MPM_AC_CUDA) {
- MpmCudaConf *conf = CudaHandlerGetCudaProfile("mpm");
- if (conf == NULL) {
- SCLogError(SC_ERR_AC_CUDA_ERROR, "Error obtaining cuda mpm profile.");
- exit(EXIT_FAILURE);
- }
-
- if (MpmCudaBufferSetup() < 0) {
- SCLogError(SC_ERR_AC_CUDA_ERROR, "Error setting up env for ac cuda");
- exit(EXIT_FAILURE);
- }
- }
-
return;
}
#include "util-unittest.h"
#ifdef __SC_CUDA_SUPPORT__
#include "util-cuda-handlers.h"
+#include "detect-engine-mpm.h"
#endif
/**
return conf;
}
+
+void MpmCudaEnvironmentSetup()
+{
+ if (PatternMatchDefaultMatcher() != MPM_AC_CUDA)
+ return;
+
+ CudaHandlerAddCudaProfileFromConf("mpm", MpmCudaConfParse, MpmCudaConfFree);
+
+ MpmCudaConf *conf = CudaHandlerGetCudaProfile("mpm");
+ if (conf == NULL) {
+ SCLogError(SC_ERR_AC_CUDA_ERROR, "Error obtaining cuda mpm "
+ "profile.");
+ exit(EXIT_FAILURE);
+ }
+
+ if (MpmCudaBufferSetup() < 0) {
+ SCLogError(SC_ERR_AC_CUDA_ERROR, "Error setting up env for ac "
+ "cuda");
+ exit(EXIT_FAILURE);
+ }
+
+ return;
+}
+
#endif
/**
MpmACBSRegister();
MpmACGfbsRegister();
#ifdef __SC_CUDA_SUPPORT__
- CudaHandlerAddCudaProfileFromConf("mpm", MpmCudaConfParse, MpmCudaConfFree);
MpmACCudaRegister();
#endif /* __SC_CUDA_SUPPORT__ */
}